2013-10-02 93 views
5

我有一個由連續的空間像如何將一個字符串以兩個連續的空格

a(double space)b c d (Double space) e f g h (double space) i 

分裂樣

a 
b c d 
e f g h 
i 

目前我想這樣

Regex r = new Regex(" +"); 
     string[] splitString = r.Split(strt); 
將字符串分割
+0

您是否嘗試過拆分(「」)? –

+0

@bobek這是行不通的 – Servy

+0

.Split(「Doublespace」)? – sgud

回答

13

您可以使用String.Split

var items = theString.Split(new[] {" "}, StringSplitOptions.None); 
+0

謝謝它適用於我 – Anjali

3

您可以使用String.Split方法。

返回一個字符串數組,其中包含此字符串 中的子字符串,它們由指定字符串數組的元素分隔。 A 參數指定是否返回空數組元素。

string s = "a b c d e f g h i"; 
var array = s.Split(new string[] {" "}, StringSplitOptions.RemoveEmptyEntries); 
foreach (var element in array) 
{ 
    Console.WriteLine (element); 
} 

輸出將是;

a 
b c d 
e f g h 
i 

這裏一個DEMO

1

使用正則表達式是一個完美的解決方案

string[] match = Regex.Split("a b c d e f g h i", @"/\s{2,}/", RegexOptions.IgnoreCase); 
+1

這是如何拆分字符串? –

+0

閱讀這些:http://www.dotnetperls.com/regex-match –

+0

我知道'Regex.Match'如何工作。我不認爲它實現了OP的要求。 '-1'。 –

3
string s = "a b c d e f g h i"; 
var test = s.Split(new String[] { " " }, StringSplitOptions.RemoveEmptyEntries); 

Console.WriteLine(test[0]); // a 
Console.WriteLine(test[1]); // b c d 
Console.WriteLine(test[2]); // e f g h 
Console.WriteLine(test[3]); // i 

Example

另一種方法是使用正則表達式,這將讓你在兩個人物上任何空格分開:

string s = "a  b c d e f g h  \t\t i"; 
var test = Regex.Split(s, @"\s{2,}"); 

Console.WriteLine(test[0]); // a 
Console.WriteLine(test[1]); // b c d 
Console.WriteLine(test[2]); // e f g h 
Console.WriteLine(test[3]); // i 

Example

相關問題