【问题标题】:How to remove case sensitivity in this particular situation?在这种特殊情况下如何消除区分大小写?
【发布时间】: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


【解决方案1】:

使用indexOf() 时,toLowerCase() 会将选中的文本转换为小写。然后,您必须将搜索字词小写。

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

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

【讨论】:

    【解决方案2】:

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

    yourString.equalsIgnoreCase(anotherString)
    

    【讨论】:

    • 感谢您的回复。但是,这对我的情况无济于事,因为我没有遇到它们,我只需要抑制区分大小写。无论如何,谢谢,这可能会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 2019-06-26
    相关资源
    最近更新 更多