字符串操作 - 获取最后'x'个字符

时间:2011-12-05 18:32:40

标签: c# asp.net c#-4.0 c#-3.0

我正在使用ASP.NET / C#3.5为Web构建一个Windows资源管理器应用程序。我有一个动态字符串,用于保存我的路径信息。导航应用程序时,此字符串会更改。我想要做的是获取我的字符串中的最后一个“目录名称”,例如:

C:\Code\AppSettings

我需要返回AppSettings

如果字符串是:

C:\Code\AppSettings\Backup

然后我需要返回Backup

我对字符串操作不够精明,无法从动态字符串中正确获取。任何帮助或示例都会很棒。

谢谢!

5 个答案:

答案 0 :(得分:5)

由于您正在处理文件/目录路径,因此最好使用Path Class的辅助方法而不是字符串操作。

您可以使用Path.GetFileName Method

var result = Path.GetFileName(@"C:\Code\AppSettings");
// result == "AppSettings"

答案 1 :(得分:1)

看看Path class。在您的情况下,Path.GetFileName会起作用。除非有反斜杠。然后你需要先删除那个尾随反斜杠。

或者,您可以像其他人所建议的那样使用SubstringString.Split。但是,请注意,您必须考虑到反斜杠的可能性,这可能会导致任何替代方案出现问题。

通过尾部反斜杠,我的意思是像C:\Code\AppSettings\这样的字符串。

答案 2 :(得分:1)

Path.GetFileName(@"C:\Code\AppSettings\Backup")

结果为Backup

System.IO.Path应该用于文件或目录路径操作 - 它提供了许多其他有用的方法。

答案 3 :(得分:0)

最好使用Path class来处理这类东西......

但如果您想通过字符串处理尝试

string myResult = myString.SubString (myString.LastIndexOf ( "\\") + 1 );

答案 4 :(得分:0)

我认为应该这样做:

exampleString = "C:\Code\AppSettings\Backup"  
string[] words = exampleString.Split('\\');

根据'\\'对字符串进行标记,即将'\'符号处的字符串拆分为包含C: Code AppSettings {{1}的数组}

然后您需要做的就是使用Backup列表中的最后一个元素。

我之前从未使用words,但我想知道它是否会得到你想要的,因为字符串的最后一部分可能是一个目录。

相关问题