我有這個字串 "1: This 2: Is 3: A 4: Test" 并希望根據編號對其進行拆分,如下所示:
“1:這個”
“2:是”
“3:A”
“4:測驗”
我認為這應該可以通過正則運算式實作,但不幸的是我對此不太了解。
這:string[] result = Regex.Split(input, @"\D ");只是拆分沒有冒號的數字及其后面的內容。
uj5u.com熱心網友回復:
如果您使用這樣的捕獲組():
string[] result = Regex.Split(str, @"(\d :)");
捕獲的值也將添加到陣列中。然后剩下要做的就是將每個第一個值與每個第二個值合并(我們跳過索引 0,因為它是空的):
List<string> values = new();
for (int i = 1; i < result.Length; i = 2)
{
values.Add(result[i] result[i 1]);
}
可能有更清潔的方法可以做到這一點,但這有效。
uj5u.com熱心網友回復:
您可以使用
string[] result = Regex.Split(text, @"(?!^)(?=(?<!\d)\d :)")
請參閱此正則運算式演示。請注意,(?<!\d)當您有兩個或多個數字的專案符號點時,負向后視是必要的。詳情:
(?!^)- 不在字串的開頭(?=(?<!\d)\d :)- 緊跟一個或多個數字(前面沒有任何數字)和一個:字符的位置。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/409444.html
標籤:
