C# 正則表達式 過濾特殊字符,保留中文,字母,數字,和-

C# 正則表達式 過濾特殊字符,保留中文,字母,數字,和-

C# 正則表達式 過濾特殊字符,保留中文,字母,數字,和-


資料來源: https://blog.csdn.net/weixin_33849942/article/details/86131458

https://blog.miniasp.com/post/2010/04/27/How-to-filter-special-characters-using-NET-Regex


測試程式碼

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace CS_Regex_FilterChar
{
    class Program
    {
        public static string FilterChar(string inputValue, string Filter)//自訂過濾條件
        {
            byte []bytArray= System.Text.Encoding.Default.GetBytes(Filter);
            for(int i=0;i< bytArray.Length;i++)
            {
                String Strbuf = String.Format("{0}",(char)bytArray[i]);
                inputValue = inputValue.Replace(Strbuf, "");
            }
            return inputValue;
        }
        public static string FilterChar(string inputValue)
        {
            // return Regex.Replace(inputValue, "[`~!@#$^&*()=|{}‘:;‘,\\[\\].<>/?~!@#¥……&*()&mdash;|{}【】;‘’,。/*-+]+", "", RegexOptions.IgnoreCase);
            if (Regex.IsMatch(inputValue, "[A-Za-z0-9\u4e00-\u9fa5-]+"))
            {
                return Regex.Match(inputValue, "[A-Za-z0-9\u4e00-\u9fa5-]+").Value;
            }
            return "";
        }
        static void Pause()
        {
            Console.Write("Press any key to continue...");
            Console.ReadKey(true);
        }
        static void Main(string[] args)
        {
            string s = "zoo13579~!多奇數位@_$#%^%$&*().,>?[]-\"";
            string r00 = FilterChar(s);
            string r01 = Regex.Replace(s, @"[\W_]+", "");
            string Filter = "\"@~!$#%^%$&+*/\\.,>?\"";
            string r02 = FilterChar(s, Filter);
            Console.WriteLine("{0}", s);
            Console.WriteLine("{0}", r00);//中文都消失
            Console.WriteLine("{0}", r01);//中文字會留下
            Console.WriteLine("{0}", r02);//留下 中文字 _()[]-
            Pause();
        }
    }
}



PS.第二篇可行

2 thoughts on “C# 正則表達式 過濾特殊字符,保留中文,字母,數字,和-

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *