using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Myshipping.Core { public static class StringExtentions { /// /// 处理文件名称 /// /// 文件名 /// 返回合法的文件名 public static string ValidFileName(this string fn) { char[] strs = "+#?*\"<>/;,-:%~".ToCharArray(); foreach (char c in strs) fn = fn.Replace(c.ToString(), "_"); strs = ":,。;?".ToCharArray(); foreach (char c in strs) fn = fn.Replace(c.ToString(), "_"); //去掉空格. while (fn.Contains(" ") == true) fn = fn.Replace(" ", ""); //替换特殊字符. fn = fn.Replace("\t\n", ""); //处理合法的文件名. StringBuilder rBuilder = new StringBuilder(fn); foreach (char rInvalidChar in Path.GetInvalidFileNameChars()) rBuilder.Replace(rInvalidChar.ToString(), string.Empty); fn = rBuilder.ToString(); fn = fn.Replace("__", "_"); fn = fn.Replace("__", "_"); fn = fn.Replace("__", "_"); fn = fn.Replace("__", "_"); fn = fn.Replace("__", "_"); fn = fn.Replace("__", "_"); fn = fn.Replace("__", "_"); fn = fn.Replace("__", "_"); fn = fn.Replace(" ", ""); fn = fn.Replace(" ", ""); fn = fn.Replace(" ", ""); fn = fn.Replace(" ", ""); fn = fn.Replace(" ", ""); fn = fn.Replace(" ", ""); fn = fn.Replace(" ", ""); fn = fn.Replace(" ", ""); if (fn.Length > 240) fn = fn.Substring(0, 240); return fn; } } }