我有類似
SOI的字符串; 1; 2; 3; 4; 5; 6; 7; SOI; 8; 9; 10; 11; 12; EOI; 13; EOI;所以我; 14; 15; 16; 17; 18; EOI;分割字符串在C#中使用正則表達式
在這裏,我不得不分割從SOI開始字符串;到EOI;
輸出應該像
[0] - 1; 2; 3; 4; 5; 6; 7; 13;
[1] - 8; 9; 10; 11; 12;
[2] - 14; 15; 16; 17; 18;
我曾嘗試使用以下代碼
string regexexpr = "(?s)(?<=SOI;).+?(?=EOI;)";//@"SOI;(.*?)EOI;";
string sText = "SOI; 1; 2; 3; 4; 5; 6; 7;SOI; 8; 9; 10; 11; 12; EOI; 13; EOI; SOI; 14; 15; 16; 17; 18; EOI;";
MatchCollection matches = Regex.Matches(sText, @regexexpr);
var sample = matches.Cast<Match>().Select(m => m.Value);
分裂但我正在逐漸輸出像
[0] - 1; 2; 3; 4; 5; 6; 7; SOI; 8; 9; 10; 11; 12;
[1] - 14; 15; 16; 17; 18;
請爲我提供更好的解決方案。 感謝
你問如何提取嵌套SOI/EOI結構?如果你可以用正則表達式來做到這一點,我會很驚訝。編寫代碼來處理值列表會更容易 –
等待,您如何期待'[0] - 1; 2; 3; 4; 5; 6; 7; 13;'作爲輸出? '8'來自何處? 9; 10; 11; 12; '去下一場比賽? –