如何從短劃線以外的字符串中刪除所有非字母數(shù)字字符?如何從字符串和空格字符以外的字符串中刪除所有非字母數(shù)字字符?
3 回答

繁星點(diǎn)點(diǎn)滴滴
TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊
替換[^a-zA-Z0-9 -]
為空字符串。
Regex rgx = new Regex("[^a-zA-Z0-9 -]");str = rgx.Replace(str, "");

達(dá)令說(shuō)
TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
我可以使用RegEx,它們可以提供優(yōu)雅的解決方案,但它們可能會(huì)導(dǎo)致性能問(wèn)題。這是一個(gè)解決方案
char[] arr = str.ToCharArray();arr = Array.FindAll<char>(arr, (c => (char.IsLetterOrDigit(c) || char.IsWhiteSpace(c) || c == '-')));str = new string(arr);
使用緊湊框架(沒(méi)有FindAll)時(shí)
將FindAll替換為1
char[] arr = str.Where(c => (char.IsLetterOrDigit(c) || char.IsWhiteSpace(c) || c == '-')).ToArray(); str = new string(arr);
- 3 回答
- 0 關(guān)注
- 427 瀏覽
添加回答
舉報(bào)
0/150
提交
取消