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 相关文章推荐
可输入的下拉框
Jun 19 Javascript
Jquery遍历节点的方法小集
Jan 22 Javascript
jquery单行文字向上滚动效果的实现代码
Sep 05 Javascript
JS实现从网页顶部掉下弹出层效果的方法
Aug 06 Javascript
BootStrap daterangepicker 双日历控件
Jun 02 Javascript
JS判断非空至少输入两个字符的简单实现方法
Jun 23 Javascript
详解Vue前端对axios的封装和使用
Apr 01 Javascript
layui-select动态选中值的例子
Sep 23 Javascript
Node.js API详解之 net模块实例分析
May 18 Javascript
JS中作用域以及变量范围分析
Jul 18 Javascript
es5 类与es6中class的区别小结
Nov 09 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
Feb 24 Javascript
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
一个php作的文本留言本的例子(六)
2006/10/09 PHP
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
基于文本的留言簿
2006/10/09 PHP
PHP 第三节 变量介绍
2012/04/28 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
php利用事务处理转账问题
2015/04/22 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
jQuery实现360°全景拖动展示
2015/03/18 Javascript
JavaScript模拟鼠标右键菜单效果
2020/12/08 Javascript
超链接怎么正确调用javascript函数
2016/05/23 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
URL中“#” “?” &amp;“”号的作用浅析
2017/02/04 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
JS实现前端页面的搜索功能
2018/06/12 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
2019/11/07 Javascript
vue 验证两次输入的密码是否一致的方法示例
2020/09/29 Javascript
js正则表达式简单校验方法
2021/01/03 Javascript
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python3中常用的处理时间和实现定时任务的方法的介绍
2015/04/07 Python
python绘制双柱形图代码实例
2017/12/14 Python
解决Python 使用h5py加载文件,看不到keys()的问题
2019/02/08 Python
pyqt5利用pyqtDesigner实现登录界面
2019/03/28 Python
python调用webservice接口的实现
2019/07/12 Python
浅谈python3中input输入的使用
2019/08/02 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
将数据集制作成VOC数据集格式的实例
2020/02/17 Python
土耳其家居建材网站:Koçtaş
2016/11/22 全球购物
国际金融专业大学生职业生涯规划书
2013/12/28 职场文书
幼儿园实习生辞职信
2014/01/20 职场文书
应届生自荐信范文
2014/02/21 职场文书
班委竞选演讲稿
2014/04/28 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
运动会加油稿30字
2015/07/21 职场文书
遗嘱格式范本
2015/08/07 职场文书
mysql 子查询的使用
2022/04/28 MySQL