我的代码:
string strFilePath = textBox1.text;
文本框的文本通常看起来像 C:\today\abc def.txt。
我想将 'abc def' 隔离到它自己的字符串中。也就是说,在“.txt”之前但在最后一个“\”之后的所有内容。
我熟悉的字符串操作使用 Split 和 Last,但在这里都不适用(我认为)。
你正在寻找Path.GetFileNameWithoutExtension()
.
您可以使用String.LastIndexOf
和String.SubString
方法,例如;
string s = @"C:\today\abc def.txt";
string ss = s.Substring(s.LastIndexOf('\\') + 1, s.IndexOf('.') - s.LastIndexOf('\\') - 1);
Console.WriteLine(ss);
输出将是;
abc def
这里一个DEMO
.
或者简单的方法,只需使用Path.GetFileNameWithoutExtension
方法
返回指定路径字符串的文件名,不带扩展名。
string name = Path.GetFileNameWithoutExtension(@"C:\today\abc def.txt");
Console.WriteLine(name); //abc def