C#-去掉Windows不能用于文件名的字符
代码如下:
/// <summary>
/// 文件名-判断是否含有非法字符
/// </summary>
public void CheckFileName(){
//^[\\/:*?\"<>|]*$中英文不带\/:*?"<>|等,下面我又添加了几种
Regex regex = new Regex("^[\\/:*?\"<>|.~&+#%{}]*$");
var resultName=regex.Match(contentEdit.Text);
if (!resultName.Success)
{
DXMessageBox.Show("Windows文件名不可包含“\\/:*?\"<>|.~&+#%{}”", "提示!");
return;
}
}
/// <summary>
/// 文件名-去除非法字符
/// </summary>
/// <param name="oldFileName">原文件名</param>
/// <param name="replaceStr">用于替换非法字符的字符</param>
/// <returns></returns>
private string GetNewFileName(string oldFileName, char replaceChar)
{
// \\/:*?\"<>|.~&+#%{}
string regexStr = "\\/:*?\"<>|.~&+#%{}";
char[] regex = regexStr.ToCharArray();
char[] chars = oldFileName.ToCharArray();
for (int i = 0; i < chars.Count(); i++)
{
var result = regex.Contains(chars[i]);
if (result)
{
chars[i] = replaceChar;
}
}
return new string(chars);
}
本文来自博客园,作者:꧁执笔小白꧂,转载请注明原文链接:https://www.cnblogs.com/qq2806933146xiaobai/p/14137319.html