Javascript - 替换页面中以以下开头的所有字符串

标签 javascript replace

我碰壁了。 我正在尝试将页面中以“Person 1”开头的所有字符串替换为“Person 1 (ValueFromPreviousField)”。

我无法应用替换'Person 1'开头的整个字符串逻辑,因此每次我点击更新按钮时,上一个“(ValueFromPreviousField) "留在字符串的末尾(我显然不想要)。

function test() {
  var N1 = document.getElementById("Name1").value;
        var N2 = document.getElementById("Name2").value;
  document.body.innerHTML = document.body.innerHTML.replace(/Person 1 */g, "Person 1 (" + N1 +")").replace(/Person 2/g, "Person 2 (" + N2 +")");

}

这是一个示例 html 的 fiddle :http://jsfiddle.net/ndt50xgo/20/

PS:由于这是由短代码生成的 html,因此我无法为所有这些跨度分配类或 id。

最佳答案

考虑一下:如果您以 x y 开头然后你替换 xx a ,你最终得到 x a y 。现在,如果您替换 xx b之后,你最终会得到 x b a y ,因为没有任何因素导致您的文本恢复为 x y第一的。这同样适用于你的例子。您的正则表达式还应该匹配您添加的任何文本,以确保它也被替换。

所以,而不是 /Person 1 */g它可能有/Person 1( \(.*?\))?/g/Person 2 */g当然/Person 2( \(.*?\))?/g .

关于Javascript - 替换页面中以以下开头的所有字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53843283/

相关文章:

javascript - 如何避免加载不必要的内容

c# - 使用 C# 搜索和替换文本文件中的值

c# - 正则表达式 - 删除跨越多个换行符的 HTML 注释

javascript - 使用 div 中的标签计数将类添加到每个父 div 中的所有子标签

javascript - 如何使用 Google 脚本替换字符串中的所有字符?

java - String.replace() 返回不需要的字符串

wpf - 替换 RichTextBox 文本但保持格式

javascript - 打印包含动态图像的 div

javascript - 如何访问 Controller 内的 url 参数?

javascript - 在 JavaScript 中,Object Literal Notation 不就是字典的别称吗?