需求描述:输入一串带重复字符的字符串,输出第一次出现的字符的字符串
例如:输入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();
}