字符串操作

时间:2010-02-11 11:43:47

标签: javascript

JavaScript text manipulation

我需要在字符串中进行一些操作。我需要检索匹配的文本然后替换匹配的文本。这样的事情

替换( “@ anytext @”,@ anytext @)

我的字符串可以在字符串中多次使用@ anytext @ any。

2 个答案:

答案 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”。