這個問題在這里已經有了答案: 如何從 .NET 中的字串中洗掉變音符號(重音符號)? (20 個回答) 2 小時前關閉。
我有一個字串 -
125DF885DF44é112846522FF001
我想從字串中洗掉é 。當我在線搜索時,我得到了從é中洗掉重音并回傳e的解決方案。
變音符號可以出現在字串中的任意位置而不是固定位置,也可以是多個。
我該如何洗掉這些?
uj5u.com熱心網友回復:
你可以用這個
string s = "125DF885DF44é112846522FF001";
string s1 = s.Replace("é","");
uj5u.com熱心網友回復:
在一般情況下,我們可以洗掉 unicodeNonSpacingMark范圍的符號:
- 我們將每個符號成對:符號 其標記(即變音符號)
- 我們去除標記
- 組合符號回來
代碼:
using System.Linq;
...
string source = "125DF885DF44é112846522FF001";
string result = string.Concat(source
.Normalize(NormalizationForm.FormD)
.Where(c => CharUnicodeInfo.GetUnicodeCategory(c) !=
UnicodeCategory.NonSpacingMark))
.Normalize(NormalizationForm.FormC);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/476249.html
上一篇:Do-while或while回圈將繼續從用戶那里獲取輸入,但在我用c語言輸入字串“exit”(不區分大小寫)后將終止
