js替换字符串指定索引位置的字符,替换掉
String.prototype.replaceAt=function(index, replacement) {
return this.substr(0, index) + replacement+ this.substr(index + replacement.length);}
var str = "广州;上海;北京";
var index1 = buyeraddtelstr.indexOf(";");//获取首次出现位置
str.replaceAt(index1,"。");
如果有多个可以使用循环拿到位置替换
var num = 0; // 这个字符出现的次数
while(index1 !== -1) {
console.log(index1); // 打印字符串出现的位置
num++; // 每出现一次 次数加一
index = str.indexOf(';',index1 + 1); // 从字符串出现的位置的下一位置开始继续查找
}
console.log('f一共出现了' + num + '次');
如果一个索引字符要替换成多个字符,后面字符要向后移动
String.prototype.replaceAt=function(index, replacement) {
return this.substr(0, index) + replacement+ this.substr(index-3 + replacement.length);}
//下面就把是字符串中的<>找出来索引,然后替换
var buyeraddtelstr = "广州<珠江新城>一号街道";
console.log("原始字符:"+buyeraddtelstr);
var index1 = buyeraddtelstr.indexOf("<");
console.log("索引位置1:"+index1);
if(index1 == -1){
buyeraddtelstr = buyeraddtelstr;
}else{
buyeraddtelstr=buyeraddtelstr.replaceAt(index1, "\<");
}
console.log("替换-1:"+buyeraddtelstr);
var index2 = buyeraddtelstr.indexOf(">");
console.log("索引位置2:"+index2);
if(index2 == -1){
buyeraddtelstr = buyeraddtelstr;
}else{
buyeraddtelstr = buyeraddtelstr.replaceAt(index2, "\>");
}
console.log("替换-2:"+buyeraddtelstr);