修复文件尾部. ..未完全去除

This commit is contained in:
Nlick47
2024-09-11 18:49:20 +08:00
parent 75470c272d
commit 44a2b81613

View File

@@ -125,36 +125,15 @@ public static class Format
public static string FormatFileName(string originName)
{
var destName = originName;
// Windows中不能作为文件名的字符
// destName = destName.Replace("\\", " ");
// destName = destName.Replace("/", " ");
// destName = destName.Replace(":", " ");
// destName = destName.Replace("*", " ");
// destName = destName.Replace("?", " ");
// destName = destName.Replace("\"", " ");
// destName = destName.Replace("<", " ");
// destName = destName.Replace(">", " ");
// destName = destName.Replace("|", " ");
// 转义字符
// destName = destName.Replace("\a", "");
// destName = destName.Replace("\b", "");
// destName = destName.Replace("\f", "");
// destName = destName.Replace("\n", "");
// destName = destName.Replace("\r", "");
// destName = destName.Replace("\t", "");
// destName = destName.Replace("\v", "");
destName = Path.GetInvalidFileNameChars().Aggregate(destName, (current, c) => current.Replace(c.ToString(), string.Empty));
// 控制字符
var cleanedName = destName
.SkipWhile(c => c == ' ' || c == '.')
.Reverse()
.SkipWhile(c => c == ' ' || c == '.')
.Reverse()
.ToArray();
// 移除前导和尾部的空白字符、dot符
destName = destName.Trim();
destName = destName.Trim('.');
// 如果只有空白字符、dot符
return destName is " " or "." ? "[empty title]" : destName;
return new string(cleanedName.Length == 0 ? "[empty title]" : cleanedName);
}
}