我需要一些帮助从文件中删除一行文本。例如:
让我们说我从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将带我到文件名的开头)?
提前感谢您的帮助!
答案 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)
获得剩余的一行。
但是,评论的建议是合理的 - 您可能不需要首先处理这种特殊情况的字符串。