根據一條線:
s = "Test abc test test abc test test test abc test test abc";
这似乎只是在上面的行中删除ABC的第一次出现:
s = s.replace('abc', '');
如何替代所有事件?
根據一條線:
s = "Test abc test test abc test test test abc test test abc";
这似乎只是在上面的行中删除ABC的第一次出现:
s = s.replace('abc', '');
如何替代所有事件?
当前回答
如果使用图书馆是您的选择,那么您将获得与图书馆功能一起进行的测试和社区支持的好处。
// Include a reference to the string.js library and call it (for example) S.
str = S(str).replaceAll('abc', '').s;
其他回答
2019年11月,新功能被添加到JavaScript, string.prototype.replaceAll()。
目前它仅支持巴比伦,但也许在未来它可以在所有浏览器中实施。
我喜欢这个方法(看起来有点干净):
text = text.replace(new RegExp("cat","g"), "dog");
可替代的独特价值
String.prototype.replaceAll = function(search_array, replacement_array) { // var target = this; // search_array.forEach(function(substr, index) { if (typeof replacement_array[index]!= "undefined") { target = target.replace(new RegExp(substr, 'g'), replacement_array[index] ) }); // return target; }; // Use: var replacedString = "This topic commented o
如果你想找到的东西已经在一条线上,你没有一个 regex escaper 方便,你可以使用 join/split:
函数替代Multi(haystack,针,替代) {返回 haystack.split(needle).join(替代); } someString = '猫看起来像猫'; console.log(替代Multi(someString, '猫', '狗'));
str = str.replace(/abc/g, '');
或者尝试替代所有方法,如本答案所建议:
str = str.replaceAll('abc', '');
或:
var search = 'abc';
str = str.replaceAll(search, '');
EDIT: 关于更换的澄清 所有可用性
替代All 方法将添加到 String 的原型,这意味着它将适用于所有 String 对象/字体。
例子:
var output = "test this".replaceAll('this', 'that'); // output is 'test that'.
output = output.replaceAll('that', 'this'); // output is 'test this'