【问题标题】:Char Parsing newline (C#)字符解析换行符 (C#)
【发布时间】:2012-05-01 20:28:31
【问题描述】:

问题很简单,但我想不出办法来解决这个问题。我的应用程序收到一个字符串 (stringID),它是一个 ID 列表,可以是分隔的“;”+换行符,也可以只是换行符:

ID1;
ID2;
ID3;

ID1
ID2
ID3

我正在尝试获取一个包含所有这些 ID 的表;

我试过了:

string[] tabID = stringID.Split(';', char.Parse(Environment.NewLine));

还有

string[] tabID = stringID.Split(';', '\r\n')); 
string[] tabID = stringID.Split(';','\n');

没有任何效果,有人可以帮助我吗?非常感谢

【问题讨论】:

    标签: c# split newline string-parsing


    【解决方案1】:

    试试这个:

    string[] tabID = stringID.Split(new Char[] { ';', '\n', '\r'},
                                StringSplitOptions.RemoveEmptyEntries);
    

    【讨论】:

      【解决方案2】:

      试试:

      String test = "ID1;ID2;ID3;";
      String[] testarr = test.Split(';');
      

      【讨论】:

        【解决方案3】:

        换行属性是一个字符串,长度可以是一两个字符,所以拆分时使用字符串。使用RemoveEmptyEntries 选项,否则您将得到分号和换行符之间的空字符串。

        string[] tabID = stringID.Split(
          new string[] { ";", Environment.NewLine },
          StringSplitOptions.RemoveEmptyEntries
        );
        

        【讨论】:

          【解决方案4】:

          这应该可行:

           string [] split = words.Split(new Char [] {';','\n'});
          

          Split 有一个重载,它需要许多分隔符的 char[]

          【讨论】:

          • @Reniuz 你是什么意思? OP 没有使用存在的重载,没有使用 params char[]
          • this string[] tabID = stringID.Split(';','\n'); 来自与您的答案相同的问题
          • 对不起-1。但我有一些新东西要给你 :) take a look here
          【解决方案5】:

          使用 StringReader 类及其方法 ReadLine 单独读取每一行。

          【讨论】:

          • 我认为这是一个比使用.Split()更好的解决方案。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-23
          • 1970-01-01
          • 2020-03-31
          • 2014-07-06
          • 1970-01-01
          相关资源
          最近更新 更多