字符串如下,带有回车,如何用split按换行符截取每个字符串。 string[] value = str.Split('\n');不好使
abc
sdf
fghk
fdffgj

解决方案 »

  1.   

    string[] value = str.Split('\r\n');
      

  2.   

    回车和换行是两个字符
    string[] value = str.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
    或string[] value = str.Split(new string[] { “\r\n” }, StringSplitOptions.RemoveEmptyEntries);
      

  3.   

     string[] value = str.Split(new char[] { '\r', '\n' });
      

  4.   

    你可以使用Environment.NewLine,它表示当前系统环境下的换行字符。因为不同的系统换行符可能不一样,通过这个属性可以获取到当前系统换行符,然后再用split分隔。
      

  5.   

    "".Split(Convert.ToChar(10))
      

  6.   

    回车符是 \r\n
    split(new char{'\r','\n'},这里是一个过滤空的选项);
      

  7.   

    string str = @"abc
    sdf
    fghk
    fdffgj";
                string[] lines = str.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
                foreach (var line in lines)
                {
                    Console.WriteLine(line);
                }
      

  8.   

    Regex.Split(txt,@"[\r\n]+")
      

  9.   

    所以你无论是使用\r,\n还是\r\n都可以关键问题是@,因为C#自己还转义呢