您的当前位置:首页正文

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

2020-06-08 来源:星星旅游
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,thismethodreplacesonlythefirstoccurrenceofthepattern.Forexample,

vars=\"Hello.Regexpsarefun.\";s=s.replace(/\\./,\"!\");//replacefirstperiodwithanexclamationpointalert(s);producesthestring“Hello!Regexpsarefun.”Includingthegflagwillcausetheinterpretertoperformaglobalreplace,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代码

总结

到此这篇关于JS替换字符串中指定位置的字符的⽂章就介绍到这了,更多相关js替换字符内容请搜索以前的⽂章或继续浏览下

⾯的相关⽂章希望⼤家以后多多⽀持!

因篇幅问题不能全部显示,请点此查看更多更全内容