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实现动态增加文件域表单
Feb 12 Javascript
javascript两段代码,两个小技巧
Feb 04 Javascript
过虑特殊字符输入的js代码
Aug 05 Javascript
jQuery中创建实例与原型继承揭秘
Dec 21 Javascript
Javascript事件实例详解
Nov 06 Javascript
JS将表单导出成EXCEL的实例代码
Nov 11 Javascript
Javascript实现div层渐隐效果的方法
May 30 Javascript
最简单的tab切换实例代码
May 13 Javascript
js实现日历与定时器
Feb 22 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
Dec 30 Javascript
mpvue实现微信小程序快递单号查询代码
Apr 03 Javascript
JavaScript实现刮刮乐效果
Nov 01 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迭代器的内部执行过程详解
2013/11/12 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
js传值 判断
2006/10/26 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
js点击事件链接的问题解决
2014/04/25 Javascript
Node.js 的异步 IO 性能探讨
2014/10/08 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
JavaScript中var关键字的使用详解
2015/08/14 Javascript
jQuery实现区域打印功能代码详解
2016/06/17 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
JavaScript评论点赞功能的实现方法
2017/03/13 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
vue中的计算属性实例详解
2018/09/19 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
微信小程序实现多选框功能的实例代码
2020/06/24 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
详解Django中间件的5种自定义方法
2018/07/26 Python
使用Python实现Wake On Lan远程开机功能
2020/01/22 Python
Python HTMLTestRunner可视化报告实现过程解析
2020/04/10 Python
让IE可以变相支持CSS3选择器
2010/01/21 HTML / CSS
Perricone MD裴礼康美国官网:抗衰老护肤品
2016/09/26 全球购物
德国大型和小型家用电器网上商店:Energeto
2019/05/15 全球购物
生物技术毕业生自荐信
2013/10/23 职场文书
《放飞蜻蜓》教学反思
2014/04/27 职场文书
空气环保标语
2014/06/12 职场文书
2014年国庆节庆祝建国65周年比赛演讲稿
2014/09/21 职场文书
2016年9月份红领巾广播稿
2015/12/21 职场文书
Python opencv缺陷检测的实现及问题解决
2021/04/24 Python
Python如何识别银行卡卡号?
2021/06/10 Python
Apache自带的ab压力测试工具的实现
2022/07/23 Servers