最近參加了一個(gè)面試,問到了如何在一個(gè)字符串中連續(xù)相同字符去重,想了想用正則表達(dá)式應(yīng)該可以輕松實(shí)現(xiàn)。可是由于長時(shí)間沒有編碼了,而且由于原先的工作用到的比較少。具體的自己就不會(huì)寫正則表達(dá)式用到的類名什么的了。總之就是面試沒有過了。
回來再網(wǎng)上搜了搜,本來以為可以很容易找到相應(yīng)的內(nèi)容,可是找了半天沒有找到我想要的結(jié)果。后來在某個(gè)相似問題求助中看到了相應(yīng)答案,不過還是有所區(qū)別,根據(jù)該問題的解決思路,最后實(shí)現(xiàn)了。
代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
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í)簡單……
PS:在線去重工具可訪問 https://tool.zzvips.com/t/txtquchong/
以上這篇java中字符串中連續(xù)相同字符去重方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/asd1_123/article/details/73744949