删除字符串中最后一次出现分隔符后的字符

kak*_*rot 2 c# string

有没有办法在最后一次出现分隔符后删除字符串中的字符?

我研究了以下问题。

按最后一个分隔符拆分字符串- 在这种情况下,最后一次出现之前的字符将被省略。但我只需要与此相反的。

从 C# 中的字符串中删除最后一个字符。优雅的方式?- 此处删除第一次出现分隔符后的字符。

例如,我有一个字符串

"D:\dir1\subdir1\subdir11\subdir111\file1.txt"
Run Code Online (Sandbox Code Playgroud)

我期望的结果是

"D:\dir1\subdir1\subdir11\subdir111"
Run Code Online (Sandbox Code Playgroud)

注意:这只是一个例子。我也需要一个解决方案来处理其他情况。

小智 5

您可以使用该String.Remove()方法。

string test = @"D:\dir1\subdir1\subdir11\subdir111\file1.txt";
string result = test.Remove (test.LastIndexOf ('\\'));
Run Code Online (Sandbox Code Playgroud)

存储的值result将是

"D:\dir1\subdir1\subdir11\subdir111"
Run Code Online (Sandbox Code Playgroud)