我在javascript中编写替换函数,考虑到字边界
blog = blog.toLowerCase().replace(new RegExp("\\b" + wordList[i].toLowerCase() + "\\b", 'g'), "value to replace");
现在这是一个 CASE SESITIVE 替换我想让它 CASE INSENSITIVE 。
我怎样才能做到这一点?
虽然Case Insensitive有 \ I ,但我不知道如何在我的代码中使用它
感谢任何帮助。
答案 0 :(得分:3)
在new RegExp()
constructor的i
参数中使用g
传递flags
。像这样:
new RegExp("\\b" + wordList[i].toLowerCase() + "\\b", 'gi')
此时,您应该可以删除所有String.toLowerCase
来电:
var re = new RegExp("\\b" + wordList[i] + "\\b", 'gi');
blog = blog.replace(re, 'value to replace');
N.B。您可能需要escape the value of worldList\[i\]
,以便您的代码不会意外地尝试创建格式错误的正则表达式。
答案 1 :(得分:2)
将您的'g'
更改为'gi'
- “g”表示“全局”,“i”表示“不区分大小写”:
..., 'gi'), "value...