kar*_*ess 8 javascript regex string node.js
我有这个字符串:
hello world hello world hello world hello
Run Code Online (Sandbox Code Playgroud)
我需要得到以下内容:
hello world hello hello hello
Run Code Online (Sandbox Code Playgroud)
如果我使用:
str = str.replace('world', '');
Run Code Online (Sandbox Code Playgroud)
它只删除world
上面字符串中的第一个匹配项.
如何替换除第一个之外的所有事件?
Kri*_*itk 14
您可以将函数传递给String#replace,您可以在其中指定省略替换第一个匹配项.还要制作第一个替换正则表达式的参数以匹配所有出现次数.
演示
let str = 'hello world hello world hello world hello',
i = 0;
str = str.replace(/world/g, m => !i++ ? m : '');
console.log(str);
Run Code Online (Sandbox Code Playgroud)
注意
您可以i
通过使用IIFE避免使用全局计数器变量:
let str = 'hello world hello world hello world hello';
str = str.replace(/world/g, (i => m => !i++ ? m : '')(0));
console.log(str);
Run Code Online (Sandbox Code Playgroud)