使用反斜杠分割字符串

43

我想使用反斜杠('\')来分割字符串,但是编译器报错“常量中的换行符不允许”。有没有一种方法可以使用反斜杠来分割字符串?

//For example...
String[] breakApart = sentence.Split('\'); //this gives an error.
3个回答

93

尝试使用转义字符'\\'而不是'\'

String[] breakApart = sentence.Split('\\');
在C#中,反斜杠\被用作特殊字符(如引号和撇号)的转义字符。因此,在尝试用撇号括起反斜杠时,反斜杠和最后一个撇号一起被解释为转义的撇号。这里是C#中可用字符转义序列的列表。这里是Microsoft关于C#中字符字面量的文档。

请确保您的输入字符串像 'SOMEDOMAIN\SOMEUSERNAME' 一样转义其内容 - 否则您的字符串将被意外拆分,导致头发掉光。 - Tore Aurstad

17

这是反斜杠,一个字符字面量

要进行分割:

String[] breakApart = sentence.Split('\\');

2

您可以使用@符号

String[] breakApart = sentence.Split(@"\"); 

这与已经被广泛接受的答案基本相同,只是您使用了不同的反斜杠转义方法。 - Jeremy Caney
这是唯一一个对我有效的变化。 - Robert Green MBA

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接