从一个字符串中剔除连续的字符,只留一个。

  • Post author:
  • Post category:其他


//第一种,从前往后遍历,如果后面的字符与当前的字符相同,就直接跳过,如果不相同,就停止。
	private String doFilter(String string){
		String newstring = "";
		int i = 0;
		int j = i+1;
		newstring = newstring + string.charAt(i);
		while( j < string.length()){
			if( string.charAt(i) == string.charAt(j)){
				j++;
				
			}else{
				 i = j;
				 j = i+1;
				 newstring = newstring + string.charAt(i);
			}
		}
		
		return newstring;
	}

// 第二种,是只比较当前字符与前一个字符是否相等,如果相等就删除前一个字符,不相等则直接向下遍历。
	private String doFilter2(String string){
		StringBuffer newstring =new StringBuffer(string);
		for(int i=1; i < newstring.length();i++){
			if(newstring.charAt(i) == newstring.charAt(i-1)){
				newstring.deleteCharAt(i-1);
				i--;
			}
		}
		return newstring.toString();
	}

参考地址:http://www.cnblogs.com/zhangmiao14/p/6379024.html