我想在我的应用程序中包含批处理文件重命名功能.用户可以键入目标文件名模式和(在替换模式中的一些通配符之后)我需要检查它是否是Windows下的合法文件名.我试过使用正则表达式,[a-zA-Z0-9_]+但它不包括来自各种语言的许多国家特定字符(例如变音符号等).做这种检查的最佳方法是什么?
我是 stackoverflow 的新手。我知道这是一个愚蠢的问题,但我被困在其中。我想验证一个文件名,以便它只接受合法路径。我试过下面的代码:
if (txtFileName.IndexOfAny(System.IO.Path.GetInvalidFileNameChars()) != -1)
{
MessageBox.Show("The filename is invalid");
return;
}
Run Code Online (Sandbox Code Playgroud)
但是,它起作用了,我对它是否会完全起作用感到有些困惑,所以我也想知道其他答案。我认为我们也可以使用正则表达式验证文件名。任何帮助都会很棒。
我有一个string存储文件名并用于SaveFileDialog.在将文件名分配给FileName属性之前,我需要确保文件名有效(例如,不包含斜杠)SaveFileDialog.我的问题是:在分配文件名之前,是否有快速确保文件名有效的方法?
例:
string fileName = fileNameTextBox.Text;
//Some code here to check validity of fileName
if(fileNameIsValid)
{
saveFileDialog.FileName = fileName;
}
Run Code Online (Sandbox Code Playgroud)