我非常接近这个,但这是不对的.我想做的就是从字符串中删除字符"r".问题是,字符串中有多个"r"实例.但是,它始终是索引4处的字符(因此是第5个字符).
示例字符串:"crt/r2002_2"我想要的:"crt/2002_2"
这个替换功能删除了"r"
mystring.replace(/r/g, '')
Run Code Online (Sandbox Code Playgroud)
产生:"ct/2002_2"
我试过这个功能:
String.prototype.replaceAt = function (index, char) {
return this.substr(0, index) + char + this.substr(index + char.length);
}
mystring.replaceAt(4, '')
Run Code Online (Sandbox Code Playgroud)
它只有在我用另一个角色替换它时才有效.它不会简单地删除它.
有什么想法吗?
我在找到在JS中完成此操作的正确方法时遇到问题.我想迭代字符串的每个字符(假设所有较低的字符串),同时i只删除字符.
所以,如果我有字符串abc,我将迭代它三次,它将打印:
'bc' //0th element is removed
'ac' //1st element is removed
'ab' //2nd element is removed
Run Code Online (Sandbox Code Playgroud)
我以为我可以用它replace,但它不适用于具有多个相同字符的字符串.
像这样的东西:
str = 'batman';
for(var i = 0; i < str.length; i++){
var minusOneStr = str.replace(str[i], '');
console.log(minusOneStr);
}
"atman"
"btman"
"baman"
"batan"
"btman" //need it to be batmn
"batma"
Run Code Online (Sandbox Code Playgroud)
我意识到这并没有工作,因为str.replace(str[i], '');当str[i]是a,它将替换的第一个实例a.它永远不会取代第二个a在batman.我查了一下substring,splice,slice方法,但都不适合MF的目的.
我怎么能做到这一点?