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
js合并两个数组
ps:下⾯看下js替换字符串中所有指定的字符
第⼀次发现JavaScript中replace()⽅法如果直接⽤place("-","!")只会替换第⼀个匹配的字符.
⽽place(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。
replace()
Thereplace()methodreturnsthestringthatresultswhenyoureplacetextmatchingitsfirstargument
(aregularexpression)withthetextofthesecondargument(astring).
Iftheg(global)flagisnotsetintheregularexpressiondeclaration,thismethodreplacesonlythefirst
occurrenceofthepattern.Forexample,
vars="Hello.Regexpsarefun.";place(/\./,"!");//replacefirstperiodwithanexclamationpointalert(s);
producesthestring“Hello!Regexpsarefun.”Includingthegflagwillcausetheinterpreterto
performaglobalreplace,findingandreplacingeverymatchingsubstring.Forexample,
vars="Hello.Regexpsarefun.";place(/\./g,"!");//replaceallperiodswithexclamationpointsalert(s);
yieldsthisresult:“Hello!Regexpsarefun!”
所以可以⽤以下⼏种⽅式.:
string:字符串表达式包含要替代的⼦字符串。
reallyDo:被搜索的⼦字符串。
replaceWith:⽤于替换的⼦字符串。
Js代码
<script type="text/javascript">
placeAll = function(reallyDo, replaceWith, ignoreCase) {
if (!RegExp.prototype.isPrototypeOf(reallyDo)) {
place(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith);
} else {
place(reallyDo, replaceWith);
}
}
</script>
总结
到此这篇关于JS替换字符串中指定位置的字符的⽂章就介绍到这了,更多相关js替换字符内容请搜索以前的⽂章或继续浏览下
⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。