我之前只需要使用
分隔我的字符串.Split(new char[]{" "},StringSplitOptions.RemoveEmptyEntries)
然而,现在,讲师给我们的问题必须通过( , ; : . ! ( ) " ' \ / [ ] space )
分割字符串来解决。我该怎么做?我试图在每一个周围放置“”,但它似乎不起作用...抱歉的noob问题。
尝试:
var listchence = Console.ReadLine().Split(new char[] {",", ";" ":", ".", "!" "(", ")", """, "'", "\", "/", "[", "]", " "} .Select(int.Parse).ToList();
答案 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)