我想问你的帮助,关于这个代码。我试图做一些特定的单词的编码,如“微软”等(随机的,只是为了学习这项技术)。我已经成功地做了所有事情,但是为了让这种搜索词的情况变得更为复杂。下面是代码:如何在这种特殊情况下删除区分大小写?
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) –