我需要为文件路径列表中的每个项目捕获一个子字符串。我循环访问的列表在文件系统中不存在,所以我不能使用 Path 类。我想从字符串的末尾开始解析,并在到达第一个“/”时停止。我试过 .Substring() 和 .Split() 但这两种方法似乎都无法匹配指定的模式或从右到左读取。
示例:某些目录/某些子目录/SomeFile.pdf
我要抓取“SomeFile.pdf”
最佳答案
你应该使用 Path
类。
例如:
string path = "Some Directory/Some SubDirectory/SomeFile.pdf";
string fileName = System.IO.Path.GetFileName(path);
编辑:只是为了回答你原来的问题如何“从右到左阅读”:
您可以使用 String.Substring
与 String.LastIndexOf
:
string fileName = path.Substring(path.LastIndexOf("/") + 1);
(但是,如果您使用路径,请使用 Path
类)
关于c# - 如何解析字符串以匹配 C# 中的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16905880/