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

相关文章

  • 深入理解jQuery()方法的构建原理

    深入理解jQuery()方法的构建原理

    对于JQuery,想必大家都很熟悉。目前,很多web项目,在实施的过程中,考虑到各浏览器原生JS API的兼容性,大都会选用JQuery或类似于JQuery这样的框架来进行网页效果开发。这篇文章将给大家深入介绍jQuery()方法的构建原理,有需要的朋友们可以参考借鉴。
    2016-12-12
  • JavaScript中arguments的使用方法详解

    JavaScript中arguments的使用方法详解

    这篇文章主要给大家介绍了关于JavaScript中arguments的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Bootstrap前端开发案例一

    Bootstrap前端开发案例一

    Bootstrap前端开发案例一,这篇文章能够帮助大家更还好的进行前端开发Bootstrap,相信大家会爱上Bootstrap
    2016-06-06
  • JavaScript实现的石头剪刀布游戏源码分享

    JavaScript实现的石头剪刀布游戏源码分享

    这篇文章主要介绍了JavaScript实现的石头剪刀布游戏源码分享,挺好玩的小游戏,关键在一些算法上,需要的朋友可以参考下
    2014-08-08
  • JS字符串分割方法整理汇总示例讲解(3种截取方法和6个辅助方法)

    JS字符串分割方法整理汇总示例讲解(3种截取方法和6个辅助方法)

    JavaScript在开发中常常会需要截取字符串,而JS提供了slice() 、substring()、substr() 3种方法实现截取操作。另外还有字符串相关的6种辅助方法:indexOf()、lastIndexOf()、split()、join()、concat()、charAt() 。
    2023-02-02
  • Electron 打包问题:electron-builder 下载各种依赖出错(推荐)

    Electron 打包问题:electron-builder 下载各种依赖出错(推荐)

    这篇文章主要介绍了Electron 打包问题:electron-builder 下载各种依赖出错,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 关于javascript DOM事件模型的两件事

    关于javascript DOM事件模型的两件事

    DOM事件模型的两件事:事件捕捉(Event Capture)的实现问题以及IE的高级事件处理模型的问题。
    2010-07-07
  • JS+CSS3制作炫酷的弹窗效果

    JS+CSS3制作炫酷的弹窗效果

    本文给大家分享使用js和css3制作的炫酷弹窗效果,整个背景模糊,要比纯色加透明度高大上好多。对js弹窗效果感兴趣的朋友一起学习吧
    2016-11-11
  • 在使用JSON格式处理数据时应该注意的问题小结

    在使用JSON格式处理数据时应该注意的问题小结

    这篇文章主要介绍了在使用JSON格式处理数据时应该注意的问题,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-05-05
  • JavaScript 评测代码运行速度的案例代码

    JavaScript 评测代码运行速度的案例代码

    在 JavaScript 中,可以使用 performance.now() API 来评测代码的运行速度。该 API 返回当前页面的高精度时间戳,您可以在代码执行前后调用它来计算代码执行所需的时间,这篇文章主要介绍了JavaScript 评测代码运行速度,需要的朋友可以参考下
    2023-02-02

最新评论