【问题标题】:Replace all the ocurrence of a string (Keep the uppercase and lowercase words) Javascript替换所有出现的字符串(保留大写和小写单词)Javascript
【发布时间】:2018-05-27 12:00:22
【问题描述】:

我正在尝试替换字符串中所有出现的单词,我遇到的第一个问题是替换大写单词或小写工作(用正则表达式修复),但是我需要替换那个单词相同的词添加一些 HTML 标签,我能够做到,但是当我替换它们时不会保留大写或小写字母。像这样:

var string = "Hello, hello, HELLO";
search = "hello";
replacement = "<h1>hello</h1>";    
string.split(new RegExp(search,"i")).join(replacement);

我明白了:

<h1>hello<h1>, <h1>hello<h1>, <h1>hello<h1>

但是我需要保持大写或小写。我需要这样的东西:

<h1>Hello<h1>, <h1>hello<h1>, <h1>HELLO<h1>

【问题讨论】:

    标签: javascript replace split


    【解决方案1】:
    string.replace(new RegExp('(' + search + ')',"ig"), '<h1>$1</h1>');
    

    你可以这样做。

    【讨论】:

    • 完美!这就是我需要的!什么是 1 美元?你能解释一下吗?
    • $1 是对正则表达式中第一个正则表达式捕获组的引用。在这种情况下,您的正则表达式 /(hello)/ig 有一个捕获组(由括号表示)用于打招呼。当您引用 $1 时,您正在引用与该捕获组匹配的任何文本。这将是您的原始文本。
    猜你喜欢
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 2018-08-06
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 2020-02-08
    相关资源
    最近更新 更多