gpt4 book ai didi

c# - 在 C# 中验证文件夹名称

转载 作者:太空狗 更新时间:2023-10-29 20:07:59 24 4
gpt4 key购买 nike

我需要在 C# 中验证文件夹名称。

我尝试了以下正则表达式:

 ^(.*?/|.*?\\)?([^\./|^\.\\]+)(?:\.([^\\]*)|)$

但它失败了,我也尝试使用 GetInvalidPathChars()

当我尝试使用 P:\abc 作为文件夹名称时失败,即 Driveletter:\foldername

谁能告诉我为什么?

最佳答案

你可以用这种方式做到这一点(使用 System.IO.Path.InvalidPathChars 常量):

bool IsValidFilename(string testName)
{
Regex containsABadCharacter = new Regex("[" + Regex.Escape(System.IO.Path.InvalidPathChars) + "]");
if (containsABadCharacter.IsMatch(testName) { return false; };

// other checks for UNC, drive-path format, etc

return true;
}

[编辑]
如果你想要一个验证文件夹路径的正则表达式,那么你可以使用这个:

Regex regex = new Regex("^([a-zA-Z]:)?(\\\\[^<>:\"/\\\\|?*]+)+\\\\?$");

[编辑 2]
我记得一件棘手的事情可以让你检查路径是否正确:

var invalidPathChars = Path.GetInvalidPathChars(path)

或(对于文件):

var invalidFileNameChars = Path.GetInvalidFileNameChars(fileName)

关于c# - 在 C# 中验证文件夹名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12688985/

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