查找字符串中的路径

时间:2014-03-15 15:30:13

标签: c# string file path directory

鉴于大量文本包含与其他随机数据混合的几千个绝对路径(目录和文件),我该如何有效地提取它们?

例如:

[randomtext] c:\ file.txt (23,56,49)[randomtext] c:\ file2.txt [34,456] ......

令人讨厌的是,它还包含文本中的路径,如下所示:

blahblah {c:\ file.txt} blahblah(忽略{})

因此使用像REGEX这样的模式匹配库不会起作用

我希望能够处理任何字符串,而不了解可能正在使用的模式,因为我不能假设这些模式将来会一样。

目前,我正在执行以下操作: -

寻找':' char,如果它左边有一个字母,右边有一个字母,那么跳回一个字符并以此为出发点。现在,从该点迭代字符串(直到另一个':'被装入或者你跳过了MAX_PATH个字符数),在每次迭代时创建一个子字符串并使用System.IO.File / Directory。 Exists()查看它是否是有效路径。如果是,则将子字符串拉出为有效路径......

...对剩余的字符串重复相同的过程。

这很有效,但是当您执行数十万次System.IO.File / Directory.Exists()检查时,速度非常慢。

0 个答案:

没有答案