最近参加了一个面试,问到了如何在一个字符串中连续相同字符去重,想了想用正则表达式应该可以轻松实现。可是由于长时间没有编码了,而且由于原先的工作用到的比较少。具体的自己就不会写正则表达式用到的类名什么的了。总之就是面试没有过了。
回来再网上搜了搜,本来以为可以很容易找到相应的内容,可是找了半天没有找到我想要的结果。后来在某个相似问题求助中看到了相应答案,不过还是有所区别,根据该问题的解决思路,最后实现了。
代码如下:
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); } } |
超级简单……
PS:在线去重工具可访问 https://tool.zzvips.com/t/txtquchong/
以上这篇java中字符串中连续相同字符去重方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/asd1_123/article/details/73744949