如何提取字符串的某些部分?

时间:2014-03-14 09:44:48

标签: c#

我有一个字符串=" C:\ Users \ Desktop \ bin \ data \ so on"

我想只提取" C:\ Users \ Desktop \"部分.. 获得结果的最简单方法是什么?

2 个答案:

答案 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"的天真灵魂可以危险