如何在特定字符C#之前获取字符数

时间:2017-08-17 15:00:02

标签: c# count substring string-length

我正在尝试获取字符串的完整路径,如下所示:

ksh /u01/Utilities/SSL_Certificates/TestCert_20170724.sh

但我遇到了问题而且我正在接受

/u01/Utilities/SSL_Certificates/Tes

那是因为从ksh获得了4个字符

如何从0开始计数到“/”

的第一个索引

我拥有的是:

string SSL_configuration_Path = ShellCommand.Substring(ShellCommand.IndexOf("/"), ShellCommand.LastIndexOf("/"));

2 个答案:

答案 0 :(得分:2)

第二个参数是多少个字符。

不是最后一个角色。

string SSL_configuration_Path = ShellCommand.Substring(
  ShellCommand.IndexOf("/"),
  ShellCommand.LastIndexOf("/") - ShellCommand.IndexOf("/"));

这不是一个好的解决方案,但它应该解释你做错了什么以及为什么它不起作用。

答案 1 :(得分:1)

尝试使用专门用于处理目录和文件名称的Parh类:

string ShellCommand = "ksh /u01/Utilities/SSL_Certificates/TestCert_20170724.sh";

string path = Path.GetDirectoryName(ShellCommand
  .Substring(line.IndexOfAny(new char[] { 
     Path.AltDirectorySeparatorChar, 
     Path.DirectorySeparatorChar })));

Console.WriteLine(path);

结果:

\u01\Utilities\SSL_Certificates

请注意,您可以使用/\作为direcory分隔符,并将最终结果标准化(即使用Path.DirectorySeparatorChar分隔符)