当前位置: 动力学知识库 > 问答 > 编程问答 >

javascript - string manipulation

问题描述:

JavaScript text manipulation

I need to make little manipulation in the string.I need to retrieve the matched text and then replace the matched text.Something like this

Replace("@[email protected]",@[email protected])

My string can have @[email protected] any where in string multiple times.

网友答案:

You can make the second argument to replace a function:

str = "testing one two three";
str = str.replace(/one/g, function(match) {

    return match.toUpperCase();
});

That replaces the "one" with "ONE". The first argument to the function is the matched result from the regex. The return value of the function is what to replace the match with.

If you have any capturing groups in your regex, they'll be additional arguments to the function:

str = "testing one two three";
str = str.replace(/(on)(e)/g, function(match, group0, group1) {

    return match.toUpperCase();
});

That does exactly what the first one does, but if you wanted to, you could see what was in the capturing groups. In that example, group0 would be "on" and group1 would be "e".

网友答案:

This is not jQuery, but regular JavaScript

var stringy = 'bob john';

stringy = stringy.replace(/bob/g, 'mary');
分享给朋友:
您可能感兴趣的文章:
随机阅读: