問題說明:
在一些場景中會要求一些名稱是唯一的,而且這些名稱基本是由全漢字組成的(個別的會帶有括號),這個時候輸入的名稱中帶有空格、數字、字母、特殊符號是不符合需求的,可以使用正則把字符串中的空格、數字、字母、特殊符號全部去掉,得到漢字部分的名稱,如果需要限制名稱必須唯一的話用這個只有漢字的名稱去和數據庫中的數據進行對比,並且保存的時候只保存這個漢字部分。
代碼如下:
List<string> namels = new List<string> { " 有限責任公司", "1有限責任公司2", "*有限責任公司/", "有限A責任公司z", "有S限1責 任>公司", "有.1s限qqfa+責任\"公司", "有限(責任)公司" }; string existname = "有限責任公司"; //先取不含特殊符號的文字部分,然后再拿文字部分做比較、做判斷 Regex regex = new Regex(@"[\s0-9a-zA-Z\@\#\$\%\^\&\*\{\}\[\]\、\:\;\'\“\”\.\。\,\,\-\+\/\<\>\?\《\》\=\""]+"); string replacement = ""; //遍歷、判斷 foreach(var name in namels) { var val = regex.Replace(name, replacement); Console.WriteLine($" 處理后:{val} 用戶輸入:{name}"); }
運行結果: