我目前正在用我的「髒字」過濾器找到部分匹配。在java中的字符串匹配
例如:如果我通過在這兩個參數替換字( 「驢」, 「傳球傳球傳給屁股」)
這種方法
private static String replaceWord(String word, String input) {
Pattern legacyPattern = Pattern.compile(word, Pattern.CASE_INSENSITIVE);
Matcher matcher = legacyPattern.matcher(input);
StringBuilder returnString = new StringBuilder();
int index = 0;
while(matcher.find()) {
returnString.append(input.substring(index,matcher.start()));
for(int i = 0; i < word.length() - 1; i++) {
returnString.append('*');
}
returnString.append(word.substring(word.length()-1));
index = matcher.end();
}
if(index < input.length() - 1){
returnString.append(input.substring(index));
}
return returnString.toString();
}
我得到P * 唱p * SP ** sed的計劃** S
當我真的只是想「路過通過**秒。 有誰知道如何避免使用此方法? 這部分匹配任何幫助將是巨大的感謝!
所以,你想''屁股'前面的一些空白? –
你想看看[Word邊界](http://docs.oracle.com/javase/tutorial/essential/regex/bounds.html) –