gpt4 book ai didi

.net - 编码文件路径

转载 作者:行者123 更新时间:2023-12-03 07:41:50 25 4
gpt4 key购买 nike

.net 中是否有内置方法可以像编码 url 一样对文件路径进行编码?例如,如果我的文件名中有非法字符,例如“whatever:whatever”,我希望它对“:”进行编码,这样它仍然存在,只是进行编码以便系统接受它。我想做一些类似 Path.Encode(fileName)

的事情

有这样的事情吗?

这就是我正在做的事情。我正在 wikipedia.org 上抓取我在 www.wikipediamaze.com 创建的游戏。 。当我进行屏幕抓取时,我将结果缓存在 app_data 文件夹中的一个文件中,该文件与我所在的维基百科站点的当前主题的名称相匹配。例如,如果我在以下位置:

http://www.wikipedia.org/wiki/Kevin_Bacon

然后我抓取该页面,对其进行解析、清理等,然后缓存在磁盘上以便稍后更快地退出。它存储在位置 /App_Data/Kevin_Bacon(无文件扩展名)。这非常有效,除非我在像

这样的页面上

http://www.wikipedia.org/wiki/Wikipedia:关于

尝试在 /App_Data/Wikipedia:About 创建文件显然不起作用,因为文件名中的“:”字符是非法的。

更新

这对我来说非常有用:

    public static string EncodeAsFileName(this string fileName)
{
return Regex.Replace(fileName, "[" + Regex.Escape(
new string(Path.GetInvalidFileNameChars())) + "]", " ");
}

最佳答案

无效字符:\/: ? “<>|

您只需要使用 GetInvalidFileNameChars 函数:(http://msdn.microsoft.com/library/system.io.path.getinvalidfilenamechars.aspx)

string sanitizedString = Regex.Replace("Wikipedia:About", "[" + Regex.Escape(new string(Path.GetInvalidFileNameChars())) + "]", "_");

所有无效字符都将替换为 _(下划线)。

关于.net - 编码文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1032105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com