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

 更新时间:2020年05月28日 08:38:38   作者:秦老爷子  
这篇文章主要介绍了js替换字符串中指定位置的字符,本文通过两种方法实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

假设有一个字符串,可能'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替换字符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • node-http-proxy修改响应结果实例代码

    node-http-proxy修改响应结果实例代码

    这篇文章主要介绍了node-http-proxy修改响应结果的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • javascript之querySelector和querySelectorAll使用说明

    javascript之querySelector和querySelectorAll使用说明

    其实关于querySelector和querySelectorAll的介绍说明很多,在此主要是做个记录
    2011-10-10
  • 体验js中splice()的强大(插入、删除或替换数组的元素)

    体验js中splice()的强大(插入、删除或替换数组的元素)

    javascript splice()算是最强大的了,它可以用于插入、删除或替换数组的元素。下面来一一介绍,感兴趣的朋友
    2013-01-01
  • jQuery及JS实现循环中暂停的方法

    jQuery及JS实现循环中暂停的方法

    这篇文章主要介绍了jQuery及JS实现循环中暂停的方法,以实例形式分析了循环中暂停的原理及实现技巧,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • JavaScript模板字符串用法实例

    JavaScript模板字符串用法实例

    在ES6之前我们都使用单引号或者双引号来包裹字符串,当我们想要在字符串中加入变量时,不能直接写在字符串里,而是需要通过字符串拼接的方式来往字符串中加入变量,这篇文章主要给大家介绍了关于JavaScript模板字符串用法的相关资料,需要的朋友可以参考下
    2022-11-11
  • js动态创建表格,删除行列的小例子

    js动态创建表格,删除行列的小例子

    这篇文章介绍了js动态创建表格,删除行列的实例代码,有需要的朋友可以参考一下
    2013-07-07
  • Bootstrap轮播插件简单使用方法介绍

    Bootstrap轮播插件简单使用方法介绍

    这篇文章主要为大家详细介绍了Bootstrap轮播插件简单使用方法,介绍了使用bootstrap轮播插件的作用,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • JavaScript优雅处理对象的6种方法

    JavaScript优雅处理对象的6种方法

    大家好,本篇文章主要讲的是JavaScript优雅处理对象的6种方法,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-12-12
  • JavaScript算法题之如何将一个数组旋转k步

    JavaScript算法题之如何将一个数组旋转k步

    这篇文章主要给大家介绍了关于JavaScript算法题之如何将一个数组旋转k步的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • javascript结合Cookies实现浏览记录历史

    javascript结合Cookies实现浏览记录历史

    最近在工作当中遇到一个问题 有个页面需要添加一个浏览历史记录功能,具体来说就是要记录下用户在此网站的点击历史 并把它们降序排列出来(只显示前6个浏览历史而且不能重复)。
    2008-09-09

最新评论