1

我的代码有一些问题。我像往常一样把一个词大写,直到我意识到他们得到的德国用户SS不是ß . 从我读到的,这是正常的行为。但我仍然想显示ß以保持数据一致。

检查该字母是否存在于句子中并在 toUpperCase 中忽略它有什么帮助吗?

System.out.println("ßoo".toUpperCase());
4

1 回答 1

4

您可以检查char其中的everyString并决定是否应将其转换为大写字母,但这会导致代码行数多于 method toUpperCase()

我刚刚意识到,该方法Character.toUpperCase()不会进行相同的转换String.toUpperCase(),因此您可以使用循环并将每个char转换为大写:

public static void main(String[] args) {
    String s = "Bloß keine Großbuchstaben";
    System.out.println(s.toUpperCase());

    // check every single character for 'ß'
    StringBuilder sb = new StringBuilder();
    for (char c : s.toCharArray()) {
        sb.append(Character.toUpperCase(c));
    }

    System.out.println(sb.toString());
}

这输出

BLOSS KEINE GROSSBUCHSTABEN
BLOß KEINE GROßBUCHSTABEN
于 2019-11-12T15:05:33.423 回答