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# 正規表達式 / 正則表達式