为了过滤坏词,我发现java中的'replace'函数并不像预期的那么方便。请在代码下方找到:例如:考虑单词“abcde”,我想将其过滤为“a***e”。
String test = "abcde";
for (int i = 1; i < sdf.length() - 1; i++) {
test= test.replace(test.charAt(i), '*');
}
System.out.print(test);
输出 :a***e
但如果 String 为String test = "bbcde";
,则输出为****e
。看来,如果单词有重复的字母(如这里),该replace
函数也会替换重复的字母。为什么会这样?我想过滤不包括第一个和最后一个字母的单词。