如何提取字符串的一部分

本文关键字:字符串 一部分 提取 何提取 | 更新日期: 2023-09-27 17:50:10

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

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

如何提取字符串的一部分

string s = @"C:'Users'Desktop'bin'data'so on";
string result = String.Join("''",s.Split('''').Take(3));
结果

C:'Users'桌面

考虑到有两个可能的目录分隔符(您的输入看起来像一个路径):

  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)));

对于"C:'Windows'MyBins'Bin'SomeStaff"

这样的输入,朴素解如Substring(@"'bin")可能是危险的