From 44a2b81613a0a502d6467f9906c684d8e5ccc7b9 Mon Sep 17 00:00:00 2001 From: Nlick47 <2247717951@qq.com> Date: Wed, 11 Sep 2024 18:49:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=87=E4=BB=B6=E5=B0=BE?= =?UTF-8?q?=E9=83=A8.=20..=E6=9C=AA=E5=AE=8C=E5=85=A8=E5=8E=BB=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DownKyi.Core/Utils/Format.cs | 35 +++++++---------------------------- 1 file changed, 7 insertions(+), 28 deletions(-) diff --git a/DownKyi.Core/Utils/Format.cs b/DownKyi.Core/Utils/Format.cs index 17d3547..178ca78 100644 --- a/DownKyi.Core/Utils/Format.cs +++ b/DownKyi.Core/Utils/Format.cs @@ -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); } } \ No newline at end of file