我需要在字符串中进行一些操作。我需要检索匹配的文本然后替换匹配的文本。这样的事情
替换( “@ anytext @”,@ anytext @)
我的字符串可以在字符串中多次使用@ anytext @ any。
答案 0 :(得分:5)
这不是jQuery,而是常规JavaScript
var stringy = 'bob john';
stringy = stringy.replace(/bob/g, 'mary');
答案 1 :(得分:1)
您可以将replace
的第二个参数作为函数:
str = "testing one two three";
str = str.replace(/one/g, function(match) {
return match.toUpperCase();
});
将“one”替换为“ONE”。函数的第一个参数是正则表达式的匹配结果。函数的返回值是用。替换匹配的内容。
如果你的正则表达式中有任何捕获组,它们将是函数的其他参数:
str = "testing one two three";
str = str.replace(/(on)(e)/g, function(match, group0, group1) {
return match.toUpperCase();
});
这与第一个完全相同,但如果您愿意,您可以看到捕获组中的内容。在该示例中,group0
将“开启”,group1
将为“e”。