我想在c#中用"\\"分割路径

kar*_*tal 3 c# split

我如何通过"\"分割路径,如果我使用它会给我语法错误path.split("\\");

Mat*_*Mat 27

你应该使用

path.Split(Path.DirectorySeparatorChar);
Run Code Online (Sandbox Code Playgroud)

如果您尝试基于本机路径分隔符拆分文件路径.

  • 嗯,这取决于.这可能是合适的 - 它可能不适合.如果在非Windows上运行Mono只会有所不同,当然......此时你还需要知道输入是否*实际上是*主机操作系统的路径,或者是否是(比如说) )来自HTTP上传的文件名. (3认同)

Jon*_*eet 7

没有string.Split超载,需要一个字符串.(另外,C#区分大小写,所以你需要Split而不是split).但是,您可以使用:

string bits = path.Split('\\');
Run Code Online (Sandbox Code Playgroud)

这将使用带params char[]参数的重载.它相当于:

string bits = path.Split(new char[] { '\\' });
Run Code Online (Sandbox Code Playgroud)

假设你肯定想要用反斜杠分割.您可能希望通过目录分隔符拆分您正在运行的操作系统,在这种情况下Path.DirectorySeparatorChar可能是正确的方法......它将/在Unix和\Windows上.另一方面,如果您尝试解析在Unix上运行的ASP.NET页面中的Windows文件系统路径,那对您没有帮助.换句话说,这取决于你的背景:)

另一种方法是使用方法Path,DirectoryInfo以更多文件系统敏感的方式获取有关路径的信息.


Ale*_*iuk 7

为了安全起见,您可以使用:

path.Split(new[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar });
Run Code Online (Sandbox Code Playgroud)


Ebe*_*oux 5

尝试path.Split('\\')---单引号(针对字符)

要使用字符串,可以使用:

path.Split(new[] {"\\"}, StringSplitOptions.None)
Run Code Online (Sandbox Code Playgroud)

要使用字符串,您必须指定一个字符串数组。我从来没有明白为什么:)