第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

從字符串中刪除特殊字符的最有效方法

從字符串中刪除特殊字符的最有效方法

C#
千萬里不及你 2019-10-14 15:29:35
我想從字符串中刪除所有特殊字符。允許的字符是AZ(大寫或小寫),數(shù)字(0-9),下劃線(_)或點(diǎn)號(。)。我有以下內(nèi)容,它可以工作,但是我懷疑(我知道?。┧皇呛苡行В?nbsp;   public static string RemoveSpecialCharacters(string str)    {        StringBuilder sb = new StringBuilder();        for (int i = 0; i < str.Length; i++)        {            if ((str[i] >= '0' && str[i] <= '9')                || (str[i] >= 'A' && str[i] <= 'z'                    || (str[i] == '.' || str[i] == '_')))                {                    sb.Append(str[i]);                }        }        return sb.ToString();    }最有效的方法是什么?正則表達(dá)式是什么樣子?與普通的字符串操作相比如何?將要清理的字符串會很短,通常長度在10到30個(gè)字符之間。
查看完整描述

3 回答

?
牧羊人nacy

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊

我建議創(chuàng)建一個(gè)簡單的查找表,您可以在靜態(tài)構(gòu)造函數(shù)中對其進(jìn)行初始化,以將任意字符組合設(shè)置為有效。這使您可以快速進(jìn)行一次檢查。


編輯


另外,為了提高速度,您將需要將StringBuilder的容量初始化為輸入字符串的長度。這將避免重新分配。這兩種方法共同為您提供速度和靈活性。


另一個(gè)編輯


我認(rèn)為編譯器可能會對其進(jìn)行優(yōu)化,但是考慮到樣式和效率,我建議使用foreach而不是for。


查看完整回答
反對 回復(fù) 2019-10-14
  • 3 回答
  • 0 關(guān)注
  • 558 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號