JS替换字符串中指定位置的字符(多种方法)


Posted in Javascript onMay 28, 2020

假设有一个字符串,可能'Good Morning'也可能是'Hello World',我想将第五个字符,替换成'-'
因为字符串虽然可以像数组那样获取某一位置字符'Hello World'[4],但是不能像数组那样直接修改某一位置的字符'Hello World'[4] = '-',这样是行不通的,但是可以把它切分成数组,修改某一位置的值,然后在合并回来。
方法1:

const replaceStr1 = (str, index, char) => {
 const strAry = str.split('');
 strAry[index] = char;
 return strAry.join('');
 }
 replaceStr(str1, 4, '-'); // => Good-Morning
 replaceStr(str2, 4, '-'); // => Hell- World

js的字符串有个substring方法,用于提取字符串中介于两个指定下标之间的字符,也就是说可以用'Hello World'.substring(0, 4),得到Hell,加上要替换的字符,再加上后面的字符串就可以。
方法2:

const replaceStr2 = (str, index, char) => {
 return str.substring(0, index) + char + str.substring(index + 1);
 }
 replaceStr2(str1, 4, '-'); // => Good-Morning
 replaceStr2(str2, 4, '-'); // => Hell- World

ps:下面看下js替换字符串中所有指定的字符

第一次发现JavaScript中replace()方法如果直接用str.replace("-","!")只会替换第一个匹配的字符.
str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。

replace()
Thereplace()methodreturnsthestringthatresultswhenyoureplacetextmatchingitsfirstargument
(aregularexpression)withthetextofthesecondargument(astring).
Iftheg(global)flagisnotsetintheregularexpressiondeclaration,thismethodreplacesonlythefirst
occurrenceofthepattern.Forexample,

vars="Hello.Regexpsarefun.";s=s.replace(/\./,"!");//replacefirstperiodwithanexclamationpointalert(s);

producesthestring“Hello!Regexpsarefun.”Includingthegflagwillcausetheinterpreterto
performaglobalreplace,findingandreplacingeverymatchingsubstring.Forexample,

vars="Hello.Regexpsarefun.";s=s.replace(/\./g,"!");//replaceallperiodswithexclamationpointsalert(s);

yieldsthisresult:“Hello!Regexpsarefun!”

所以可以用以下几种方式.:

string.replace(/reallyDo/g,replaceWith);
string.replace(newRegExp(reallyDo,'g'),replaceWith);

string:字符串表达式包含要替代的子字符串。
reallyDo:被搜索的子字符串。
replaceWith:用于替换的子字符串。

Js代码

<script type="text/javascript"> 
String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) { 
  if (!RegExp.prototype.isPrototypeOf(reallyDo)) { 
    return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith); 
  } else { 
    return this.replace(reallyDo, replaceWith); 
  } 
} 
</script>

总结

到此这篇关于JS替换字符串中指定位置的字符的文章就介绍到这了,更多相关js替换字符内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
HTML中的setCapture和releaseCapture使用介绍
Mar 21 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
Nov 21 Javascript
纯javascript移动优先的幻灯片效果
Nov 02 Javascript
JS基础随笔(菜鸟必看篇)
Jul 13 Javascript
angular双向绑定模拟探索
Dec 26 Javascript
canvas实现绘制吃豆鱼效果
Jan 12 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
Jan 18 Javascript
理解javascript中的Function.prototype.bind的方法
Feb 03 Javascript
jQuery阻止移动端遮罩层后页面滚动
Mar 15 Javascript
详解node.js平台下Express的session与cookie模块包的配置
Apr 26 Javascript
layui上传图片到服务器的非项目目录下的方法
Sep 26 Javascript
如何让vue长列表快速加载
Mar 29 Vue.js
js实现九宫格布局效果
May 28 #Javascript
微信小程序实现电子签名并导出图片
May 27 #Javascript
JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)
May 27 #Javascript
微信公众号网页分享功能开发的示例代码
May 27 #Javascript
JS字符串补全方法padStart()和padEnd()
May 27 #Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
May 27 #Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
May 27 #Javascript
You might like
基于mysql的论坛(2)
2006/10/09 PHP
将数组写入txt文件 var_export
2009/04/21 PHP
PHP header函数分析详解
2011/08/06 PHP
那些年一起学习的PHP(二)
2012/03/21 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
鼠标图片振动代码
2006/07/06 Javascript
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
JavaScript的变量作用域深入理解
2009/10/25 Javascript
基于jQuery实现的当离开页面时出现提示的实现代码
2011/06/27 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
2014/01/09 Javascript
jquery图片切换插件
2015/03/16 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
2016/01/23 Javascript
浅谈js中对象的使用
2016/08/11 Javascript
JQuery EasyUI 结合ztrIee的后台页面开发实例
2017/09/01 jQuery
vue 计时器组件的实现代码
2017/09/14 Javascript
ES6解构赋值实例详解
2017/10/31 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
Python使用MD5加密字符串示例
2014/08/22 Python
python 全局变量的import机制介绍
2017/09/07 Python
python Flask实现restful api service
2017/12/04 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
Python单元测试unittest的具体使用示例
2018/12/17 Python
python通过移动端访问查看电脑界面
2020/01/06 Python
Python列表如何更新值
2020/05/27 Python
python爬虫基础知识点整理
2020/06/02 Python
Python建造者模式案例运行原理解析
2020/06/29 Python
安装Anaconda3及使用Jupyter的方法
2020/10/27 Python
中间件分为哪几类
2016/09/18 面试题
担保书范文
2019/07/09 职场文书
redis实现共同好友的思路详解
2021/05/26 Redis