Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        6年前关闭。
                                                                                            
                
        
假设我有以下文字:

var text = "aaa bbb eee ccc <br>ddd eee fff ggg hhh iii jjj kkk";


搜索词是:

var search = "eee ggg";


我想知道以下(等效)之一:

a)通过(最好是)通过一个正则表达式知道找到搜索词的文本中的位置(indexOf)。在这种情况下,indexOf()应该返回20。(请注意,在eee fff ggg *中的eee之前还有一个eee。

要么

b)能够将找到的术语eee fff ggg替换为newinsertedstring eee fff ggg

提前致谢

编辑text变量中有一些br来分隔行,因此它只能在包含所有搜索词的行中找到/替换它。

最佳答案

我认为这可以做到:

var text = "aaa bbb eee ccc <br>ddd eee fff ggg hhh iii jjj kkk";
var search = /eee [^e<>]*ggg/g;

console.log(text.search(search)); // a)
console.log(text.replace(search, "newinsertedstring $&")); // b)

关于javascript - javascript indexOf/替换多个搜索词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18080545/

10-14 04:52