Java 字符串去重(保留第一次出现的字符)

Java 实用工具 专栏收录该内容
5 篇文章 1 订阅

Hi ~ 小老弟开始转公众号啦,欢迎大家来指点迷津呀

 

需求描述:输入一串带重复字符的字符串,输出第一次出现的字符的字符串

例如:输入acvbabcd,输出结果应该是:acvbd


目录

方法一:利用StringBuffer + indexof

方法二:利用StringBuffer + 正则表达式


方法一:利用StringBuffer + indexof


public String removeRepeatChar(String str) {
	 
	StringBuffer sb = new StringBuffer();
	
	for (int i = 0; i < str.length(); i ++) {
		
		char charWord = str.charAt(i);
		
		int firstPosition = str.indexOf(charWord);
 
        int lastPosition = str.lastIndexOf(charWord);
		
		if (firstPosition  == lastPosition || firstPosition == i) {
			
			sb.append(charWord);
			
		}
	}
	return sb.toString();
}

方法二:利用StringBuffer + 正则表达式


public String removeRepeat(String str) {
	
	StringBuffer sb = new StringBuffer(str);
	
	String rs = sb.reverse().toString().replaceAll("(.)(?=.*\\1)", "");
	
	StringBuffer out = new StringBuffer(rs);
	
    return out.reverse().toString();
}

  • 7
    点赞
  • 1
    评论
  • 12
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值