您好,我在Javascript中有一个问题,是否可以使用给定的数组,例如
["old", "great", "other", "long", "good", "last"]
如果你有一个
var str = "oldgreatotherlonggoodlastfirstnewownlittle"
并使用数组和正则表达式用空格打印它?
例如:
old great other long good lastfirstnewownlittle
我只是在用javascript做一个简单的web应用,只是为了练习。
发布于 2019-04-19 05:37:29
将数组转换为正则表达式,并在每次匹配前添加一个空格。
var str = "oldgreatotherlonggoodlastfirstnewownlittle";
var newstr = str.replace(/old|great|other|long|good|last/g, " $&");
console.log(newstr);
str = "greatotherlonggoodlastfirstnewownlittleold";
newstr = str.replace(/old|great|other|long|good|last/g, " $&");
console.log(newstr);
在替换字符串中,$&
代表与正则表达式匹配的任何内容。
发布于 2019-04-19 05:40:37
如果您正在寻找一种从数组生成正则表达式的方法,您可以这样做:
let words = ["old", "great", "other", "long", "good", "last"];
let reg = new RegExp(words.join("|"), "g")
然后,您可以将其与string.replace
一起使用,以达到理想的效果
https://stackoverflow.com/questions/55753987
复制相似问题