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 相关文章推荐
javascript 尚未实现错误解决办法
Nov 27 Javascript
validator验证控件使用代码
Nov 23 Javascript
基于jquery的二级联动菜单实现代码
Apr 25 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
Jan 15 Javascript
如何将网页表格内容导入excel
Feb 18 Javascript
JS获取当前网页大小以及屏幕分辨率等
Sep 05 Javascript
JavaScript实现的类字典插入或更新方法实例
Jul 10 Javascript
JavaScript头像上传插件源码分享
Mar 29 Javascript
jQuery 如何实现一个滑动按钮开关
Dec 01 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
Dec 19 Javascript
JS实现的input选择图片本地预览功能示例
Aug 29 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
Sep 13 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
中国收音机工业发展史
2021/03/02 无线电
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
js通过googleAIP翻译PHP系统的语言配置的实现代码
2011/10/17 Javascript
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
js判断IE浏览器版本过低示例代码
2013/11/22 Javascript
javascript中定义私有方法说明(private method)
2014/01/27 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
js实现具有高亮显示效果的多级菜单代码
2015/09/01 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
2015/10/22 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
2016/05/05 Javascript
基于jQuery实现多标签页切换的效果(web前端开发)
2016/07/24 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
jQuery简单获取DIV和A标签元素位置的方法
2017/02/07 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
Vue ElementUI之Form表单验证遇到的问题
2017/08/21 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
[01:33:30]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第二场 2月5日
2021/03/11 DOTA
Python中使用dom模块生成XML文件示例
2015/04/05 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
python实现人脸识别代码
2017/11/08 Python
python实现任意位置文件分割的实例
2018/12/14 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
HTML+CSS+JavaScript实现图片3D展览的示例代码
2020/10/12 HTML / CSS
YesStyle美国/全球:购买亚洲时装、美容化妆品和生活百货
2017/01/16 全球购物
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
大学生四年生活自我鉴定
2013/11/21 职场文书
总裁办公室主任职责
2014/01/02 职场文书
护士毕业实习感言
2014/03/05 职场文书
中职生自荐信范文
2014/06/15 职场文书
大学生作弊检讨书
2014/09/11 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
户外亲子活动总结
2015/05/08 职场文书