From d8b747a48d61447b6bed0fc5a0dc077e4e39807f Mon Sep 17 00:00:00 2001 From: MoguCloud Date: Sat, 31 Dec 2022 16:55:02 +0800 Subject: [PATCH] Fix FormatFileName MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复当文件名以连续的点、空格、点结尾 (例如"abc . . ")时,无法完全去除开头/结尾的点和空格 需要额外处理当文件名都是非法字符的情况 --- src/DownKyi.Core/Utils/Format.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/DownKyi.Core/Utils/Format.cs b/src/DownKyi.Core/Utils/Format.cs index 6e0faf1..fcde0f6 100644 --- a/src/DownKyi.Core/Utils/Format.cs +++ b/src/DownKyi.Core/Utils/Format.cs @@ -199,7 +199,22 @@ namespace DownKyi.Core.Utils destName = Regex.Replace(destName, @"\p{C}+", string.Empty); // 移除前导和尾部的空白字符、dot符 - return destName.Trim('.').Trim(); + int i, j; + for (i = 0; i < destName.Length; i++) + { + if (destName[i] != ' ' && destName[i] != '.') + { + break; + } + } + for (j = destName.Length - 1; j >= 0; j--) + { + if (destName[j] != ' ' && destName[j] != '.') + { + break; + } + } + return destName.Substring(i, j - i + 1); } }