我必须验证文件路径的用户输入。到目前为止,我所尝试的是代码中的以下。该代码适用于某些情况,例如。
C:\(有效)(我的代码返回有效)
C:\(有效)(我的代码返回有效)
C:+ space + \(我的代码返回有效,但我想把它视为无效)
C:+ space + filename(我的代码返回有效但我想把它视为无效)
它应该将“\”之间和之后的“空格”视为无效。
public bool FilePathValid(string path)
{
try
{
Path.GetFullPath(path);
Path.GetFileName(path);
return Path.IsPathRooted(path);
}
catch (Exception e)
{
return false;
}
}
注意:我只想在没有其他选项的情况下尝试使用正则表达式,因为曾经说过你尝试使用正则表达式解决问题并最终得到两个。
答案 0 :(得分:1)
因此,您对实际验证路径以及检查路径是否指向现有文件或目录不感兴趣,您只想检查路径分隔符是否在空格之前或之后?
然后这样做:
if (path.Contains(@" \") || path.Contains(@"\ "))
{
// do your magic
}