2013-09-28 72 views
0

我在C#中的字符串與模式是這樣的:分割字符串模式在C#

string Str = "!!DATA!!First!!Data!!Second!!DATA!!"; 

我如何分割字符串到字符串數組,包含了!! DATA之間的部分!部分?

+3

嘗試['String.Split()'](http://msdn.microsoft.com/en-us/library/ system.string.split.aspx)或[正則表達式](http://msdn.microsoft.com/zh-cn/library/system.text.regularexpressions.regex.aspx)。你嘗試了什麼? – CodeCaster

+0

以下鏈接應提供您需要的指導... http://stackoverflow.com/questions/1126915/how-do-i-split-a-string-by-a-multi-character-delimiter-in -c – Seymour

回答

3

你有做過什麼研究嗎? http://msdn.microsoft.com/en-us/library/tabh47cf.aspx

string[] data = Str.Split(new string[]{"!!DATA!!"}, StringSplitOptions.RemoveEmptyEntries) 

或者也許你想

string[] data = Str.Split(new string[]{"!!DATA!!","!!Data!!"}, StringSplitOptions.RemoveEmptyEntries); 
1
string[] data = yourString.Split(new string[] {"!!DATA!!"}, StringSplitOptions.RemoveEmptyEntries) 

檢查MSDN瞭解更多信息。

+0

這不是你所期望的 – ohmusama

+0

@ohmusama是的,我檢查了MSDN,我認爲有這樣的過載。 – pinckerman

+0

它的超級煩人,你總是可以實現一個擴展方法來這樣做,但這是超出了這個問題的範圍。 – ohmusama

4

似乎你想要一個不區分大小寫!DATA!圖案 該最佳的解決方案是使用正則表達式

string[] data = Regex.Split(Str , "!!DATA!!",RegexOptions.IgnoreCase); 
2
string[] data = Str.Split(new string[] { "!!Data!!", "!!DATA!!" }, StringSplitOptions.RemoveEmptyEntries); 
-2
string[] newstring=Str.Split('!!Data!!'); 
+0

這不起作用。 –

+1

'!! Data !!'它不是一個字符。 – pinckerman