【发布时间】:2013-04-19 09:27:34
【问题描述】:
为了过滤坏词,我发现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 test = "bbcde";,则输出为****e。看来,如果单词有重复的字母(如这里),replace 函数会替换重复的字母
也。
为什么会这样?我想过滤不包括第一个和最后一个字母的单词。
【问题讨论】:
-
你想从另一个文本中过滤掉坏词,让“abcde”成为一个坏词,必须过滤掉吗?还是您只想从输入“abcde”中获取“ae”,从“bbcde”中获取“be”?
-
我想从 abcde 得到一个 ***e!得到了答案。非常感谢