0

我的代码:

string strFilePath = textBox1.text;

文本框的文本通常看起来像 C:\today\abc def.txt。

我想将 'abc def' 隔离到它自己的字符串中。也就是说,在“.txt”之前但在最后一个“\”之后的所有内容。

我熟悉的字符串操作使用 Split 和 Last,但在这里都不适用(我认为)。

4

2 回答 2

8

你正在寻找Path.GetFileNameWithoutExtension().

于 2013-10-04T19:59:13.983 回答
0

您可以使用String.LastIndexOfString.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
于 2013-10-04T20:02:01.437 回答