【问题标题】:How can I split a string that has three spaces as its separators?如何拆分具有三个空格作为分隔符的字符串?
【发布时间】:2012-09-18 19:17:05
【问题描述】:

我在一个文本文件中写了很多行,并且通过在部分之间放置三个空格将每一行分成几部分。这是一行的示例:

1   khashayar   home

现在我想通过使用来读取和分割每一行

 arraytobeprinted = ss.Split('   ');

但我收到此错误:

字符字面量中的字符太多

我该如何解决这个问题?

【问题讨论】:

    标签: c#


    【解决方案1】:

    您正在传递一个字符作为分割分隔符。尝试传递这样的字符串:

    var parts = ss.Split(new[] { "   " }, StringSplitOptions.None);
    

    【讨论】:

      【解决方案2】:

      试试这个: ss.Split(new string [] {" "}, StringSplitOptions.None);

      【讨论】:

        【解决方案3】:

        您可以尝试String.Split Method (String[], StringSplitOptions) 以获得相同的结果。

        string[] array2 = ss.Split(new string[]{"   "}, StringSplitOptions.None);
        

        【讨论】:

        • 这个答案不正确,它实际上会产生与ss.Split(' ');相同的结果当使用ToCharArray将拆分字符串转换为char数组时,char数组应该包含其中任何一个字符,当在输入字符串中单独遇到时,是拆分的有效点。
        • @mortb,你说得对,我不知道,刚才我试过了,它就像你说的那样有效。我已经更新了答案,并删除了 ToCharArray 的一部分。谢谢
        • 例如 ss.Split(['\t','\n'] 会在 either 制表符 换行符上分割,它们会不一定要彼此相邻放置。
        【解决方案4】:

        使用 ss.Split(null) 或 ss.Split(new char[0]),这会以最简单的方式解决您的问题。

        编码愉快!!!

        【讨论】:

        • 这不是解决办法。它产生的输出与他在原始程序中的语句 ss.Split(' '); 相同
        猜你喜欢
        • 1970-01-01
        • 2020-05-26
        • 1970-01-01
        • 2020-04-18
        • 1970-01-01
        • 1970-01-01
        • 2011-05-17
        • 1970-01-01
        相关资源
        最近更新 更多