删除字符串中分隔符最后一次出现后的字符
本文关键字:字符 最后一次 字符串 分隔符 删除 | 更新日期: 2023-09-27 18:34:44
有没有办法在最后一次出现分隔符后删除字符串中的字符?
我研究了以下问题。
按最后一个分隔符拆分字符串 - 在这种情况下,将省略最后一次出现之前的字符。但我只需要与此相反的东西。
从 C# 中的字符串中删除最后字符。优雅的方式?- 此处删除了分隔符第一次出现后的字符。
例如我有一个字符串
"D:'dir1'subdir1'subdir11'subdir111'file1.txt"
我期望的结果是
"D:'dir1'subdir1'subdir11'subdir111"
注意:这只是一个示例。我也需要一个解决方案来在其他情况下工作。
您可以使用
String.Remove()
方法。
string test = @"D:'dir1'subdir1'subdir11'subdir111'file1.txt";
string result = test.Remove (test.LastIndexOf (''''));
存储在result
中的值将是
"D:'dir1'subdir1'subdir11'subdir111"
您可以使用 LastIndexOf 轻松实现此目的
string str =@"D:'dir1'subdir1'subdir11'subdir111'file1.txt"
str= str.SubString(0,str.LastIndexOf("''"));
如果您正在寻找通用的东西,请创建扩展方法
public static string GetStringBeforeLastIndex(this string str,string delimeter)
{
return str.SubString(0,str.LastIndexOf(delimeter));
}
现在你只需要调用该方法
string str =@"D:'dir1'subdir1'subdir11'subdir111'file1.txt"
str = str.GetStringBeforeLastIndex("''"); you can pass any delimeter
string str =@"asdd-asdasd-sdfsdf-hfghfg"
str = str.GetStringBeforeLastIndex("-");
这
应该是最安全的方法
string Pathname = @"D:'dir1'subdir1'subdir11'subdir111'file1.txt";
string Result = Path.GetDirectoryName(Pathname);