2010-03-31 137 views

回答

7

不做.ToCharArray()

它會分裂\ r然後\ n

這就是爲什麼你有空值

這樣的事情應該工作

var aa = ("a" & Environment.NewLine & "b" & Environment.NewLine & "c").Split(New String[] {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries); 
6

由於您正在分割「\ r」和「n」,因此String.Split會從「\ r \ n」中提取空字符串。

看看StringSplitOptions.RemoveEmptyEntries或使用new String[] { "\r\n" }而不是"\r\n".ToCharArray()

1

您只需使用\r\n作爲分隔符將字符串拆分,而不是將\r\n拼接在一起。

0

此選項也有效, string [] b = Regex.Split(abc,「\ r \ n」);

1

Environment.NewLine可能是要走的路,但如果沒有這個工程

var ab = "a\r\nb\r\nc"; 
var abs = ab.Split(new[]{"\r\n"}, StringSplitOptions.None); 
0

我的理解是,您提供給拆分方法的字符串字符序列的分隔符列表,而不是單一的分隔符由幾個字符組成。

就你而言,Split認爲'\ r'和'\ n'字符是分隔符。所以當遇到'\ r \ n'序列時,它會返回這兩個分隔符之間的字符串,一個空字符串。