Java 在这种特殊情况下,如何消除区分大小写的问题?

Java 在这种特殊情况下,如何消除区分大小写的问题?,java,string,text,case,stringbuilder,Java,String,Text,Case,Stringbuilder,关于此代码,我想请您提供帮助。我正在尝试对特定的单词进行编码,例如“Microsoft”等(随机的,只是为了学习这项技术)。我什么事都做得很成功,但要让这种寻找单词的方式变得毫无意义。代码如下: public class BannedWords { public static String returnStars(int length){ String stars = ""; String addStar = "*"; for (int i = 1; i<=len

关于此代码,我想请您提供帮助。我正在尝试对特定的单词进行编码,例如“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());
    }
}
公共类横幅词{
公共静态字符串returnStars(整数长度){
弦星=”;
字符串addStar=“*”;
对于(int i=1;i当使用
indexOf()
时,
toLowerCase()
会将选中的文本转换为小写。然后,您必须将搜索词放在小写形式。

String text = "Java is a good programming language.";
int index = text.toLowerCase().indexOf("java");

您也可以使用
toUpperCase()
,只需将搜索词大写。

实际上,您应该使用equalsIgnoreCase。这是比较字符串的正确方法,不考虑大小写。而且您不必将原始字符串修改为大写或小写来执行检查。我希望这有帮助:)


您对不起作用的
toUpperCase()
toLowerCase()
做了什么
可能有用。@LieRyan的可能重复它不是重复的,因为我只知道如何处理一个必须处理的变量。但这里我有三个变量,所以在这种情况下,情况不同,因此我无法处理它…Java中的循环有什么问题吗?谢谢你的回答。你好r这对我的情况没有帮助,因为我没有考虑它们,我只需要抑制对大小写的敏感性。无论如何,谢谢,这可能会对今后有所帮助。
yourString.equalsIgnoreCase(anotherString)