我想分割以下类型的字符串:
父/子/值[4za] AX / BY
并通过以下方式创建String[]
:
String[] ArrayVar = Regex.Split(stringVar, "?");
在首次出现/
之前,每隔[
分割字符串。
结果我得到了
Array[0] => "Parent"
Array[1] => "Child"
Array[2] => "Value [4za] AX/BY"
字符串也可以有其他格式,如
父/值[4za] AX / BY
值[4za] AX / BY
我该怎么做?
答案 0 :(得分:33)
您可以使用普通的字符串操作来执行此操作。只需在第一个[
上拆分字符串,然后相应地拆分它。然后只需将字符串的结尾部分添加到最后一个元素:
string inputstring = "Parent/Child/Value [4za] AX/BY";
int index = inputstring.IndexOf('[');
string[] parts = inputstring.Substring(0, index).Split('/');
parts[parts.Length - 1] += inputstring.Substring(index);
答案 1 :(得分:23)
使用负面的lookbehind((?<!...)
)。以下正则表示&#34; /
前面没有开括号&#34;:
(?<!\[.*)/