2013-10-23 55 views
-1
var list = string.Join(",", item.Split(new string[] { "2|" }, StringSplitOptions.RemoveEmptyEntries)); 

我使用上面的代碼,它運行良好。使用「或」進行分割

我想分割像下面,

2 |或3 |或4 |或5 |或6 |或7 |

如果值是

2 | 222計劃將繼續工作。

如果值是

5 | 232程序將繼續工作。

我希望程序毫無例外地工作。

我如何根據我的情況使用「或」

+1

這個問題如何與LINQ相關? –

+3

我不明白你的問題。您可能希望更清楚地瞭解所需的輸出 –

+0

我想分割2 |或3 |或4 |或5 |或6 |或7 |沒有例外。價值與2與3與4,它是不確定的。 – user2902180

回答

1

我猜你有一些particular set格式的關心,並不是所有的格式\d|,如果是的話,你也可以嘗試使用Regex,但對於簡單的是,我們總是可以使用string.Split與數組string通過由數組元素中的任何一個來分割字符串,這樣的事情:

var list = string.Join(",", item.Split(new string[] { "2|", "3|", "4|", "5|", "6|", "7|" }, 
         StringSplitOptions.RemoveEmptyEntries)); 

regex version,你應該使用Regex.Replace這樣的:

var list = Regex.Replace(item, "(?<![2-7][|])[2-7][|](?![2-7][|])",","); 
1

你應該用像這樣的模式使用Regex.Split [2-7] + | 如果您需要所有數字,請將[2-7]替換爲\ d。

1
var regex = new Regex(@"\d\|"); 
var splitted = regex.Split(yourInput); 
+0

這是什麼意思「d」? – user2902180

+0

'\ d'是一個字符類匹配和數字檢查[此處](http://msdn.microsoft.com/zh-cn/library/az24scfc%28v=vs.110%29.aspx#character_classes)以獲取更多信息 –