c# - 从字符串中获取文件名

标签 c# string

你能帮我从字符串中找到文件名吗?现在我有一串内容,如“C:\xxxx\xxxx\xxxx\abc.pdf”。但我只想要文件名即。 abc.pdf。使用字符串函数将如何得到?

最佳答案

使用Path.GetFileName :

string full = @"C:\xxxx\xxxx\xxxx\abc.pdf";
string file = Path.GetFileName(full);
Console.WriteLine(file); // abc.pdf

请注意,这假设名称的最后一部分是一个文件——它不会检查。因此,如果您给它“C:\Windows\System32”,它会声称文件名为 System32,即使那实际上是一个目录。 (然而,传入“C:\Windows\System32\”将返回一个空字符串。)您可以使用 File.Exists检查一个文件是否存在并且是一个文件而不是一个目录如果这有帮助的话。

此方法也不会检查目录层次结构中的所有其他元素是否存在 - 因此您可以传入“C:\foo\bar\baz.txt”,它会返回 baz.txt,即使 foo 和 bar不存在。

关于c# - 从字符串中获取文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2742688/

相关文章:

c# - Directory.GetFiles() 抛出异常 - 文件夹名称末尾有空格无法识别

c# - 如何防止列表中的项目在未填写且应为 "0"时返回 "null"?

c# - “资源”在当前上下文中不存在

c# - 将 String 转换为 DateTime 时出错。 "String was not recognized as a valid DateTime."

python - 如何在Python中解码这种奇怪的编码?

javascript - 在 PostBack 之前从 jQuery 调用方法

c# - 通过 C 库在 C# 应用程序之间共享数据

java - 用 ".split"分割字符串,但将分隔符(字符串)保留在匹配数组中

c++在一行中将变量值添加到字符串

regex - 正则表达式中的替代捕获组?