/// <summary> /// 将文本格式化成标准的文件名。 /// 中文会转换成拼音,保留英文数字和下划线 /// </summary> /// <param name="input"></param> /// <returns></returns> static public string FormatFileName(string input, bool format) { StringBuilder sb = new StringBuilder(); foreach (char ch in input) { ///若是汉字,将此汉字转换成拼音,添加到结果 if (Regex.IsHanzi(ch)) { string pinyin = Pinyin.ToPinyinSingle(ch); if (!string.IsNullOrEmpty(pinyin)) { if (format) { sb.Append(pinyin).Append(","); } else { sb.Append(pinyin); } } } ///不是汉字,判断是否合法,若合法,则添加到结果 else if (IsValidateFileName(ch)) { sb.Append(ch); } } string str = sb.ToString(); if (format) { int index = str.LastIndexOf(','); if (index != -1) { str = str.Remove(index, 1); } } return(str); }