我想分割以下一种字符串:斯普利特 '/' 直到 '[' 出现
父/子/值[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
我该怎么做?
FYI:如果字符串包含换行符,它可能是有用的选项,通过一个单线(“DOTALL”)的正则表达式引擎,'@ “(?s)(?<!\ [。*)/”'或'Regex.Split(stringVar,@“(?<!\ [。*)/”,RegexOptions.Singleline);'。 –
如果引擎不支持任意长度的lookbehinds? –
@QPaysTaxes,没有任意长度的lookbehinds,单个正则表达式语句要么是不可能的,要么是太复杂,不值得花费在像TheLethalCoder的答案这样的解决方案上。 – asgallant