【发布时间】:2014-05-10 15:59:30
【问题描述】:
关于此代码,我想请您帮忙。我正在尝试对特定单词进行一种编码,例如“Microsoft”等(随机单词,只是为了学习技术)。我已经成功地做了所有事情,但是为了使这种搜索单词的方式不区分大小写。代码如下:
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”和“Microsoft”字样,即使我们尝试“MiCrosoFt”它也应该可以工作,但经过几个小时的思考并尝试使用 toUpperCase 来完成它(), toLowerCase(),我不知道该怎么做。你有什么想法吗?
先谢谢你! :)
【问题讨论】:
-
你对
toUpperCase()和toLowerCase()做了什么没用? -
String.equalsIgnoreCase()可能有用。 -
@LieRyan 这不是重复的,因为我知道如何处理我必须处理的一个变量。但是这里我有三个,所以在那种情况下情况不同,因此我无法处理它......
-
在 Java 中循环有什么问题吗?
标签: java string text case stringbuilder