我想問你的幫助,關於這個代碼。我試圖做一些特定的單詞的編碼,如「微軟」等(隨機的,只是爲了學習這項技術)。我已經成功地做了所有事情,但是爲了讓這種搜索詞的情況變得更爲複雜。下面是代碼:如何在這種特殊情況下刪除區分大小寫?
public class BannedWords {
public static String returnStars(int length){
String stars = "";
String addStar = "*";
for (int i = 1; i<=length; i++){
stars += addStar;
}
return stars;
}
public static void main(String[] args) {
String textString = "Microsoft announced its next generation Java compiler today."
+ " It uses advanced parser and special optimizer for the Microsoft JVM.";
StringBuilder text = new StringBuilder(textString);
String bannedWords = "Java, JVM, Microsoft";
String [] bWordsArr = bannedWords.split("[, ]+");
for(int i = 0; i<bWordsArr.length; i++){
int index = textString.indexOf(bWordsArr[i]);
while(index != -1){
text = text.replace(index, index+bWordsArr[i].length(), returnStars(bWordsArr[i].length()));
index = textString.indexOf(bWordsArr[i], index +1);
}
}
System.out.println(text.toString());
}
}
我需要尋找的「Java」,「JVM」和「微軟」的話,無論他們的情況下,即使我們嘗試「微軟」它應該工作,但幾個小時後,思考和嘗試使用toUpperCase(),toLowerCase()來做到這一點,我無法找到如何做到這一點。你有什麼想法 ?
事先謝謝! :)
你用'toUpperCase()'和'toLowerCase()'做了什麼沒有用? – awksp
'String.equalsIgnoreCase()'可能很有用。 – csmckelvey
可能重複[如何在Java中替換不區分大小寫的子字符串](http://stackoverflow.com/questions/5054995/how-to-replace-case-insensitive-literal-substrings-in-java) –