1. 程式人生 > >Java中字串中連續相同字元去重

Java中字串中連續相同字元去重

最近參加了一個面試,問到了如何在一個字串中連續相同字元去重,想了想用正則表示式應該可以輕鬆實現。可是由於長時間沒有編碼了,而且由於原先的工作用到的比較少。具體的自己就不會寫正則表示式用到的類名什麼的了。總之就是面試沒有過了。回來再網上搜了搜,本來以為可以很容易找到相應的內容,可是找了半天沒有找到我想要的結果。後來在某個相似問題求助中看到了相應答案,不過還是有所區別,根據該問題的解決思路,最後實現了.

程式碼如下:

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);
}
}

超級簡單……