通過(guò)搜索JDK用盡可能多的方法刪除String類中的指定字符速侈,我只想到了 11 種方法,如果有不足或者遺漏希望讀者能夠不吝賜教迫卢。
第一種方法?– 通過(guò)循環(huán)從前往后遍歷倚搬,如果不是要?jiǎng)h除的字符則加到處理后的字符串中,代碼如下:
第二種方法?— 通過(guò)循環(huán)確定要?jiǎng)h除字符的位置索引乾蛤,然后通過(guò)分割字符串的形式每界,將子字符串拼接捅僵,注意最后一段子字符串和源字符串中沒(méi)有要?jiǎng)h除字符的情況,代碼如下:
第三種方法?— 原理同上眨层,只不過(guò)查找要?jiǎng)h除字符位置采用String類中的函數(shù)執(zhí)行庙楚,效率不如上面的高,代碼如下:
第四種方法?— 原理與上方基本一致趴樱,只不過(guò)這次采用倒序方式馒闷,這里的坑就更多了,一定要注意索引的取值范圍和是否合法叁征,代碼如下:
第五種方法?— 通過(guò)采用正則的方式和replaceAll函數(shù)纳账,本種方法要注意特殊字符,例如正則中的 “.”字符捺疼,需要對(duì)特殊字符進(jìn)行轉(zhuǎn)義疏虫,代碼如下:
第六種方法?— 采用正則的方式將字符串分割成幾個(gè)子字符串,再將子字符串進(jìn)行拼接啤呼,代碼如下:
第七種方法?— 將字符編程可讀序列卧秘,在通過(guò) String 類中的方法替換,代碼如下:
第八種方法?— 把原字符串轉(zhuǎn)化為字符數(shù)組官扣,然后原理與直接插入排序原理類似斯议,代碼如下:
第九種方法?— 原理與 第一種方法 類似,本次采用 stringBuffer 類中的 append 方法進(jìn)行操作醇锚,我認(rèn)為效率應(yīng)該高于第一種哼御。
第十種方法?— 采用 stringBuffer 類中的 replace and indexOf 方法(^_^ 故意湊方法),代碼如下:
第十一種方法?— 采用 stringBuffer 類中的 deleteCharAt 和 indexOf 直接刪除
程序運(yùn)行截圖:
最后焊唬,如果你現(xiàn)在也是在學(xué)習(xí)java恋昼,你可以關(guān)注我的微信公眾號(hào):java王者之路。為Java新手們準(zhǔn)備了零基礎(chǔ)到高級(jí)java學(xué)習(xí)資源等等赶促。歡迎大家關(guān)注液肌。
想要一起學(xué)習(xí)交流,或者系統(tǒng)的學(xué)習(xí)java的可以加企鵝群475820025 ? 進(jìn)群邀請(qǐng)碼 (寂靜)鸥滨,裙內(nèi)有各種資源嗦哆,歡迎大家加裙。