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, "[`~!@#$^&*()=|{}‘:;‘,\\[\\].<>/?~!@#¥……&*()—|{}【】;‘’,。/*-+]+", "", 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# 正則表達式 過濾特殊字符,保留中文,字母,數字,和-”
介紹 一款 正則表達式 WINDOSWS 測試工具
[Expresso]
http://www.ultrapico.com/Expresso.htm
C# 正規表達式 / 正則表達式