【问题标题】:String manipulation in C#. How to extract a string from a string?C# 中的字符串操作。如何从字符串中提取字符串?
【发布时间】:2013-10-04 19:58:14
【问题描述】:

我的代码:

string strFilePath = textBox1.text;

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

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

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

【问题讨论】:

  • 实际上多次拆分在这里可以正常工作。
  • abc def.txt文件名还是文件夹名abc和文件名def.txt
  • 你不应该使用standard open file dialog吗?
  • @Steve Good catch :)

标签: c# string


【解决方案1】:

您正在寻找Path.GetFileNameWithoutExtension()

【讨论】:

  • 在当前上下文中,这是一个靶心
  • 是的,这正是我希望/寻找的。谢谢!
【解决方案2】:

您可以使用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 method

返回指定路径字符串的文件名,不带 扩展名。

string name = Path.GetFileNameWithoutExtension(@"C:\today\abc def.txt");
Console.WriteLine(name); //abc def

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-29
    • 2016-11-05
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多