如何使用正则表达式将特定文本字符串替换为其他字符串

时间:2015-08-29 11:27:13

标签: javascript regex

如何替换字符串:6/9/1985 1234567890 ABC test@yahoo.co.in 301 DURGA NIWAS

将其转换为:

6/9/1985 1234567890 abc_test@yahoo.co.in 301 DURGA NIWAS

实际上我想在电子邮件和字符串之间用空格,字符串换成小写来替换电子邮件和字符串之间的空格。

1 个答案:

答案 0 :(得分:0)

请注意,当您需要使用replace修改字符串时,可以将捕获的文本子字符串传递给回调函数,您可以在其中进一步操作它们。

因此,您需要一个在电子邮件之前捕获该单词的正则表达式:

(\S+)\s+([^@\s]+@\S+)

请参阅下面的regex demo和示例代码:

var s = '6/9/1985 1234567890 ABC test@yahoo.co.in 301 DURGA NIWAS';
var res = s.replace(/(\S+)\s+([^@\s]+@\S+)/, function (m, grp1, grp2, offset, input) {
  return grp1.toLowerCase() + "_" + grp2;
 });
document.write(res);