Java中字符串中連續(xù)相同字符去重方法
最近參加了一個(gè)面試,問(wèn)到了如何在一個(gè)字符串中連續(xù)相同字符去重,想了想用正則表達(dá)式應(yīng)該可以輕松實(shí)現(xiàn)??墒怯捎陂L(zhǎng)時(shí)間沒(méi)有編碼了,而且由于原先的工作用到的比較少。具體的自己就不會(huì)寫(xiě)正則表達(dá)式用到的類名什么的了。總之就是面試沒(méi)有過(guò)了。
回來(lái)再網(wǎng)上搜了搜,本來(lái)以為可以很容易找到相應(yīng)的內(nèi)容,可是找了半天沒(méi)有找到我想要的結(jié)果。后來(lái)在某個(gè)相似問(wèn)題求助中看到了相應(yīng)答案,不過(guò)還是有所區(qū)別,根據(jù)該問(wèn)題的解決思路,最后實(shí)現(xiàn)了。
代碼如下:
public class Test { public static void main(String[] args) { String str = "111111kakkkkkkkkkkwwwaacbbdAAA"; String s = ""; int count=0; Matcher m = Pattern.compile("(\\w)\\1*").matcher(str); while (m.find()) { s += m.group().subSequence(0, 1); } System.out.println(s); } }
超級(jí)簡(jiǎn)單……
以上這篇Java中字符串中連續(xù)相同字符去重方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解如何在SpringBoot中優(yōu)雅地重試調(diào)用第三方API
在實(shí)際的應(yīng)用中,我們經(jīng)常需要調(diào)用第三方API來(lái)獲取數(shù)據(jù)或執(zhí)行某些操作,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12Springboot非分布式定時(shí)任務(wù)實(shí)現(xiàn)代碼
這篇文章主要介紹了Springboot非分布式定時(shí)任務(wù)實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Mybatis中ResultMap解決屬性名和數(shù)據(jù)庫(kù)字段名不一致問(wèn)題
我們Pojo類的屬性名和數(shù)據(jù)庫(kù)中的字段名不一致的現(xiàn)象時(shí)有發(fā)生,本文就詳細(xì)的介紹一下Mybatis中ResultMap解決屬性名和數(shù)據(jù)庫(kù)字段名不一致問(wèn)題,感興趣的可以了解一下2021-10-10SpringBoot多數(shù)據(jù)源配置的全過(guò)程記錄
在用SpringBoot開(kāi)發(fā)項(xiàng)目時(shí),隨著業(yè)務(wù)量的擴(kuò)大,我們通常會(huì)進(jìn)行數(shù)據(jù)庫(kù)拆分或是引入其他數(shù)據(jù)庫(kù),從而我們需要配置多個(gè)數(shù)據(jù)源,下面這篇文章主要給大家介紹了關(guān)于SpringBoot多數(shù)據(jù)源配置的相關(guān)資料,需要的朋友可以參考下2021-11-11深入理解java異常處理機(jī)制的原理和開(kāi)發(fā)應(yīng)用
Java異常處理機(jī)制在日常開(kāi)發(fā)中應(yīng)用頻繁,本篇文章主要在基礎(chǔ)的使用方法上,更進(jìn)一步的,如何更加合理的使用異常機(jī)制,希望可以對(duì)各位朋友能有所幫助。2017-04-04Java下載文件時(shí)文件名亂碼問(wèn)題解決辦法
我最近在開(kāi)發(fā)時(shí)遇到了文件另存為時(shí)文件名出現(xiàn)亂碼,在火狐上正常的文件名,在IE中又出現(xiàn)亂碼問(wèn)題,然后好不容易在IE下調(diào)試好了文件名亂碼問(wèn)題,在火狐下又出現(xiàn)亂碼,最后終于感覺(jué)這樣是能解決了。具體如下:2013-04-04