替换字符串中的变量替换错误的字符
问题描述:
美好的一天。我有一个脚本正在执行一个替代字符串部分的输入。它的工作原理应该如此;除非两个下划线分开的字符串包含相同的字符。下面的图片,我想第二个字符“M”被替换为“M1”而不是第一个。替换字符串中的变量替换错误的字符
有没有一种方法可以指定或声明准确地将字符串中的变量替换为许多相同字符的位置?任何帮助最受赞赏。
答
您可能需要分割,然后重新组装与替换值,而不是值替换的一切:
var spl = getVal.split('_');
for(var idx =0 ; idx < spl.length; idx++) {
var b = spl[idx].replace(/\d+/g,''); // remove all numbers?
spl[idx] = b + afVal;
}
rep = spl.join('_');
答
如果你想指定一个特定的位置,你可以在字符串中找到使用indexof的位置,例如getVal.indexof(“_ M”)。然后你可以做一些你使用子字符串然后专门添加下面的值
function insertString(insertPoint, sValue, insertValue)
{
var n = sValue.length;
var frontHalf = sValue.substring(0,insertPoint);
var backHalf = sValue.substring(insertPoint,n);
return frontHalf + insertValue + backHalf;
}
+0
谢谢你,我的屏幕截图上方有几行有一个indexOf,所以你是绝对正确的!谢谢 – arios
我不太明白你在问什么。那么,您希望最终的字符串在示例PH_WM_M1_LT中? – gmwagner