C# 如何将包含斜杠的字符串与单个斜杠分开?
这是一个类似这样的刺痛:C# 如何将包含斜杠的字符串与单个斜杠分开?,c#,C#,这是一个类似这样的刺痛: string a = "C:\folder1\folder2\folder3"; List<string> result = a.Split('\\').ToList(); 我想用“\”分隔字符串a,所以这样写: string a = "C:\folder1\folder2\folder3"; List<string> result = a.Split('\\').ToList(); 我希望结果中有4名成员: {C:,folder1,fo
string a = "C:\folder1\folder2\folder3";
List<string> result = a.Split('\\').ToList();
我想用“\”分隔字符串a,所以这样写:
string a = "C:\folder1\folder2\folder3";
List<string> result = a.Split('\\').ToList();
我希望结果中有4名成员:
{C:,folder1,folder2,folder3}
那么,我该怎么做呢?将字符串定义为
string a = @"C:\folder1\folder2\folder3";
因此,它不会将反斜杠作为特殊字符。问题在于示例字符串不包含反斜杠 此字符串包含三个:
string a = "C:\\folder1\\folder2\\folder3";
或者这个:
string a = @"C:\folder1\folder2\folder3"; // google: verbatim string literal
\f
是一个FORM提要。什么是splite
?如果您使用逐字字符串文字作为@“C:\folder1\folder2\folder3”
并使用Split()
方法,您将得到答案为C:,folder1,folder2,folder3
字符串数组,然后您可以使用字符串。如果您希望将它们作为一个字符串,请加入方法。如果你没有,就不要使用String.Join
。我不同意这个问题是离题的,因为“它是由一个无法再复制的问题或一个简单的印刷错误引起的”。问题是String.Split
返回一个而不是4个字符串。如果他的代码真的使用了splite
而不是Split
,它甚至不会编译。所以我修正了这个错误。如果这是他使用的字符串,那么真正的问题就很清楚了。谢谢你的回答。但如果我只是被这样的刺痛:“string a=“C:\folder1\folder2\folder3””我无法阻止它发送给我。我能做什么?我可以做一些工作来转移它的格式吗?如果有人给你一个这样的横线,我相信他会包括反斜杠。不要将它与文本文件中的相同字符串混淆。那些转义序列只能在字符串中工作谢谢你的回答。但如果我只是被这样的刺痛:“string a=“C:\folder1\folder2\folder3””我无法阻止它发送给我。我能做什么?我可以做一些工作来传输它的格式吗?如果您收到的字符串(比如从文本文件中)是“C:\folder1\folder2\folder3”,拆分(“\\”)将正常工作。问题是,如果您写入字符串a=“C:\folder1\folder2\folder3”;在c#程序中,它将\f解释为一个特殊字符。如果写入@“C:\folder1\folder2\folder3”,则“\”不会被视为转义字符。