用几个分隔符拆分字符串

时间:2017-10-09 19:20:11

标签: c#

我之前只需要使用

分隔我的字符串
.Split(new char[]{" "},StringSplitOptions.RemoveEmptyEntries)

然而,现在,讲师给我们的问题必须通过( , ; : . ! ( ) " ' \ / [ ] space )分割字符串来解决。我该怎么做?我试图在每一个周围放置“”,但它似乎不起作用...抱歉的noob问题。

尝试:

var listchence = Console.ReadLine().Split(new char[] {",", ";" ":", ".", "!" "(", ")", """, "'", "\", "/", "[", "]", " "} .Select(int.Parse).ToList();

3 个答案:

答案 0 :(得分:2)

在C#中,使用""''之间存在差异。 ""用于指定string,而'用于指定字符。您正在初始化char[],但用字符串填充它。

您的代码应为:

var listchence = Console.ReadLine()
                        .Split(new char[] {',', ';',':', '.', '!', '(', ')', '"', '\'', '\\', '/', '[', ']', ' '})
                        .Select(int.Parse).ToList();

请注意,对于'\,您需要转义然后在其前面添加另一个\

另一种选择是使用收到Split的{​​{1}}重载,但由于所有分隔符都是单个字符,因此最好使用string[]重载。

答案 1 :(得分:0)

有一个重载接受多个分隔符。您需要在每个分隔符周围放置单引号,因为它接受字符数组,而不是字符串数组。您的某些分隔符需要进行转义,例如"和\在他们面前添加一个反斜杠。

答案 2 :(得分:-1)

.Split(new char[]{',',';',':','.','!','(',')', '\"', '\'','\\','/','[',' ]',' '},StringSplitOptions.RemoveEmptyEntries)