基本上,我需要能够在字符串(不区分大小写)中找到某些单词(“单词”是指字符集),如果它们匹配,则需要在该特定字符的第一个字母后插入符号字符集。我无法使用搜索替换,因为那样将无法保留大小写。

例子:



如果我要查找的单词是brown,而我要插入的字符是*,则结果应为:



JS 中这样做的最佳方法是什么?

最佳答案

function astAfterFirstLetter(words) {
  var re = new RegExp("\\b(?=" + words.join("|") + "\\b)(\\w)(\\w*)", "gi");
  return function (str) { return str.replace(re, "$1*$2"); };
}

astAfterFirstLetter(["brown", "cow"])("How now brown cow!")

产生
How now b*rown c*ow!

关于JavaScript不区分大小写的匹配和替换?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6989463/

10-13 00:21