1、过滤特殊字符

    public class CharService:IDisposable
    {
        private List<char> _invalidChars;
        public CharService()
        {
            _invalidChars = new List<char>();
            _invalidChars.AddRange(Path.GetInvalidFileNameChars());
            _invalidChars.AddRange(Path.GetInvalidPathChars());
        }

        /// <summary>
        /// 特殊字符过滤
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public string SplitStringInvaild(string str,bool isLower=true)
        {
            str = ToDBC(str);
            StringBuilder sb = new StringBuilder();
            foreach (char c in str)
            {
                if (_invalidChars.Contains(c))
                    continue;

                if(isLower)
                    sb.Append(ToLower(c));
                else
                    sb.Append(c);
            }
            str = sb.ToString().Trim();
            if (isLower)
            {
                if (str.Substring(str.Length-1,1)==".")
                {
                    str = str.Substring(0, str.Length - 1);
                }
            }
            return str;
        }

        public static char ToLower(char c)
        {
            if (('A' <= c) && (c <= 'Z'))
            {
                c = (char)(c | ' ');
            }
            return c;
        }

        public static String ToDBC(String input)
        {
            char[] c = input.ToCharArray();
            for (int i = 0; i < c.Length; i++)
            {
                if (c[i] == 12288)
                {
                    c[i] = (char)32;
                    continue;
                }
                if (c[i] > 65280 && c[i] < 65375)
                    c[i] = (char)(c[i] - 65248);
            }
            return new String(c);
        }

        public void Dispose()
        {
            _invalidChars = null;
        }
    }
View Code

相关文章:

  • 2021-08-11
  • 2021-10-23
  • 2021-11-20
  • 2022-01-14
  • 2022-02-19
  • 2021-09-28
  • 2021-09-17
猜你喜欢
  • 2022-01-22
  • 2022-12-23
  • 2021-06-19
  • 2022-01-19
  • 2021-08-29
  • 2022-12-23
相关资源
相似解决方案