我正在寻找C#或C ++ / C中的工具/代码,它可以从文件中提取文件路径,例如
FILE.TXT:
Lorem Impusum
C:\Windows\System32\test.exe
C:\Users\Limited\Downloads.txt
testing 123
所以它会输出File.txt,如下所示:
C:\Windows\System32\test.exe
C:\Users\Limited\Downloads.txt
答案 0 :(得分:2)
假设您已将文件内容加载到List<string>
或string[]
var result = potentialPaths.Where(Path.IsPathRooted).ToList();
此外,这是C#。
答案 1 :(得分:0)
看一下c#System.IO.Path。
Google是你的朋友。
答案 2 :(得分:0)
您可以使用Regex,例如:
"([a-zA-Z]:)?(\\\\[a-zA-Z0-9_.-]+)+\\\\?"
答案 3 :(得分:0)
这里有一个如何在C ++中执行此操作的示例:http://www.gbresearch.com/axe/Reference.pdf
以下是摘录:
// windows path can start with a server name or letter
auto start_server = "\\\\" & +path_chars - '\\';
auto start_drive = r_alpha() & ':';
auto simple_path = (start_server | start_drive) & *('\\' & +path_chars);
auto quoted_path = '"' & (start_server | start_drive) &
*('\\' & +(space | path_chars)) & '"';
// path can be either simple or quoted
auto path = simple_path | quoted_path;
// rule to extract all paths
std::vector<std::wstring> paths;
size_t length = 0;
auto extract_paths = *(*(r_any() - (path >> e_push_back(paths) >> e_length(length)))
& r_advance(length));
您可以根据自己的需要自定义规则。规则也适用于unicode和二进制文件,无需更改。