我有一个字符串=" C:\ Users \ Desktop \ bin \ data \ so on"
我想只提取" C:\ Users \ Desktop \"部分.. 获得结果的最简单方法是什么?
答案 0 :(得分:1)
string s = @"C:\Users\Desktop\bin\data\so on";
string result = String.Join("\\",s.Split('\\').Take(3));
<强>结果强> C:\ Users \用户桌面
答案 1 :(得分:1)
考虑到两个可能的目录分隔符(您的输入看起来像路径):
String s = "C:\Users\Desktop\bin\data\so on";
String result = String.Join(Path.DirectorySeparatorChar.ToString(),
s.Split(Path.DirectorySeparatorChar,
Path.AltDirectorySeparatorChar).Take(3));
或者,如果您希望在找到"/bin"
或"\bin"
之前继续,则应将Take
更改为TakeWhile
:
String result = String.Join(Path.DirectorySeparatorChar.ToString(),
s.Split(Path.DirectorySeparatorChar,
Path.AltDirectorySeparatorChar).TakeWhile(
x => !String.Equals(x, "bin", StringComparison.OrdinalIgnoreCase)));
对Substring(@"\bin")
"C:\Windows\MyBins\Bin\SomeStaff"
的天真灵魂可以危险