如何删除C#中一行文本的一部分

时间:2014-09-19 20:10:11

标签: c#

我需要一些帮助从文件中删除一行文本。例如:

让我们说我从dir列表输出如下:

 Directory of C:\Data\Junk

03/12/2014  08:35 AM    <DIR>          .
03/12/2014  08:35 AM    <DIR>          ..
03/05/2014  05:36 PM               397 junk.xml
03/05/2014  05:36 PM               397 more_junk.xml

我的目标是将其转化为以下内容:

 Directory of C:\Data\Junk

.
..
junk.xml
more_junk.xml

如果我有一个要删除的预期字符串,我知道如何使用编辑器执行此操作,但我无法弄清楚如何动态执行此操作。或者 - 有没有办法检测如果该行的第一部分是一个日期,然后删除X字符(在这种情况下X将带我到文件名的开头)?

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

为什么不使用Directory.GetFiles列出所有文件?

string[] files = Directory.GetFiles(@"C:\Data\Junk", "*.*", SearchOption.TopDirectoryOnly);

然后根据需要格式化,例如

Console.WriteLine(".");
Console.WriteLine("..");
foreach(string f in files)
{
  Console.WriteLine(file);
}

答案 1 :(得分:2)

如果您知道要丢弃的字符串的长度(上面显示的是40个字符),您可以

yourString.Substring(40)

获得剩余的一行。

但是,评论的建议是合理的 - 您可能不需要首先处理这种特殊情况的字符串。