我想分割一个这样的字符串:
"Street:§§§§__inboundRow['Adress']['Street']__§§§§ und Postal: §§§§__inboundRow['Adress']['Postal']__§§§§ super"
我在Groovy中的代码:
def parts = ret.split(/§§§§__inboundRow.+?__§§§§/)
所以我得到的数组是
["Street:", " und Postal: ", " super"]
但我想要的是:
["Street:", "§§§§__inboundRow['Adress']['Street']__§§§§", " und Postal: ", "§§§§__inboundRow['Adress']['Postal']__§§§§", " super"]
我如何实现这一目标?
答案 0 :(得分:0)
尝试分析积极的前瞻性。由于您希望保留用于拆分的分隔符,因此可能需要采用一种方法。
var str = "String1:§§§§__inboundRow[Test]__§§§§andString2:§§§§__inboundRow[Test1]__§§§§";
console.log(str.split(/(?=§§§§__inboundRow\[Test\d*\]__§§§§|and)/));
我不知道你使用的语言是什么,但是这应该适用于你可以使用正则表达式进行拆分的任何地方,使用lookahead(JavaScript当然支持它)。用于拆分的模式是:
(?=§§§§__inboundRow\[Test\d*\]__§§§§|and)
当我们断言下面的内容是文本§§§§__inboundRow[Test\d*]__§§§§
或and
时,这就是分裂。