字符串分裂问题

时间:2010-03-31 12:06:30

标签: c# string split

alt text http://i43.tinypic.com/2rpfjth.png

它不会返回我的预期。 我期待的是: AB 出租车 AB

我在做错了什么?

6 个答案:

答案 0 :(得分:7)

不要做.ToCharArray()

它会分裂\ r然后\ n

为什么你有空值

这样的事情应该起作用

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

答案 1 :(得分:6)

由于你要拆分“\ r”和“n”,String.Split从“\ r \ n”中提取空字符串。

查看StringSplitOptions.RemoveEmptyEntries或使用new String[] { "\r\n" }代替"\r\n".ToCharArray()

答案 2 :(得分:1)

您只需使用\r\n分隔字符串作为分隔符,而不是\r\n

答案 3 :(得分:1)

Environment.NewLine可能是要走的路,但如果没有,

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

答案 4 :(得分:0)

此选项也有效,    string [] b = Regex.Split(abc,“\ r \ n”);

答案 5 :(得分:0)

我的理解是,您为Split方法提供的字符串char序列是一个分隔符字符列表,而不是由多个字符组成的单个分隔符。

在您的情况下,Split将'\ n'和'\ n'字符视为分隔符。因此,当遇到'\ r \ n'序列时,它会返回这两个分隔符之间的字符串,即空字符串。