需求描述:输入一串带重复字符的字符串,输出第一次出现的字符的字符串
例如:输入acvbabcd,输出结果应该是:acvbd
目录
方法一:利用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();
-
}
需求描述:输入一串带重复字符的字符串,输出第一次出现的字符的字符串