【发布时间】:2017-02-17 21:11:20
【问题描述】:
我想要做的是将一个字符串拆分为一个由多个连续子字符串组成的数组,在给定正则表达式的匹配项和不匹配项之间交替。
像这样:
[nonmatch, match, nonmatch, match...]
例如,使用正确的正则表达式(此处的实际表达式并不重要),
"I [went to the doctor] today to [eat some] food"
可能变成:
["I ", "[went to the doctor]", " today to ", "[eat some]", " food"]
我需要这样做,因为我需要暂时取出字符串的某些部分,对字符串的其余部分做一些事情,然后将前面的部分插入到它们应该再次使字符串完整的位置(只需将整个数组组合成一个字符串)。
我只能从搜索中找到想要摆脱某些字符串(例如上例中的 [])或将一些不匹配项和匹配项连接在一起的人,例如:
["I ", "[went to the doctor] today to ", "[eat some] food"]
【问题讨论】:
-
你为什么不认为使用的正则表达式不重要?没有它,你的问题对我来说似乎不清楚。
-
这个还是模糊的!!!
-
正则表达式是一些在方括号之间选择字符组的正则表达式。我想以正确的顺序构建一个包含该正则表达式的匹配项和不匹配项的数组。
-
可能有多少层?这是一个可能的字符串:
I [went [to] the] doctor??? -
你可以分割你的字符串,然后对部分做你想做的事,但你也可以使用
String.prototype.replace作为替换参数。
标签: javascript arrays regex