javascript - 在输出中使用 str.replace() 输入

标签 javascript regex string replace

在 JavaScript 中,如何在新字符串中使用全部或部分匹配的字符串。例如:我有以下两个字符串:

var str1 = "Hello, my name is Vinnie Caprarola";
var str2 = "Hello, my name is John Doe";
var str3 = "Hello, my name is very weird";

我想用 span 元素包围名称,因此对名称应用“名称”类。假设这不是字符串的全部,并且前后可能有字符。另外,就像 str3 中那样,如果“你好,我的名字是”后面的部分不是大写,我应该假设它不是一个名字并忽略它。所以我的问题是:如何在所有这些字符串上运行完全相同的函数并获得以下输出:

var str1 = "Hello, my name is <span>Vinnie Caprarola</span>";
var str2 = "Hello, my name is <span>John Doe</span>";
var str3 = "Hello, my name is very weird";

所以,我需要将名称基本上替换为 '<span>' + name + '</span>' 。我如何获得name在前面的表达式中?

最佳答案

我找到了答案!

据我所知here ,您可以指定一个函数作为替换参数,并在该函数中进行匹配。所以让函数看起来像这样:

function doTheReplace(match) {
  return '<span>' + match + '</span>';
}

str1.replace(/Hello\, my name is [A-Z].* [A-Z].* /, doTheReplace);
str2.replace(/Hello\, my name is [A-Z].* [A-Z].* /, doTheReplace);
str3.replace(/Hello\, my name is [A-Z].* [A-Z].* /, doTheReplace);

这将产生请求的输出。

关于javascript - 在输出中使用 str.replace() 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25516605/

相关文章:

javascript - react 多个复选框过滤器

javascript - Selenium等待错误javascript

c# - 正则表达式匹配最后一个破折号后的所有数字?

php - 将主题标签转换为链接

javascript - 从 html 输入中获取非类型内容

javascript - 在 Canvas 中绘制多个圆弧的 JQuery 动画问题

javascript - JQuery 正则表达式接受字母数字字符和 ' , -

C++高效解析

Python:如何在 Python 2.6 中制作由文本和变量值组成的字符串

php - 如何通过多个定界符分解字符串并保留定界符?