Replacing multiple patterns in a block of data

后端 未结 4 783
遇见更好的自我
遇见更好的自我 2020-12-31 14:48

I need to find the most efficient way of matching multiple regular expressions on a single block of text. To give an example of what I need, consider a block of text:

<
4条回答
  •  清歌不尽
    2020-12-31 15:11

    An improved answer:

    var index = {
        'Hello': 'Bye',
        'World': 'Universe'
    };
    
    var pattern = '';
    for (var i in index) {
        if (pattern != '') pattern += '|';
        pattern += i;
    }
    
    var text = "Hello World what a beautiful day";
    text.replace(new RegExp(pattern, 'g'), function($0) {
        return index[$0] != undefined ? index[$0] : $0;
    });
    

提交回复
热议问题