How can I invert the case of a String in Java?

后端 未结 9 1395
感情败类
感情败类 2020-11-30 12:16

I want to change a String so that all the uppercase characters become lowercase, and all the lower case characters become uppercase. Number characters are just ignored.

9条回答
  •  -上瘾入骨i
    2020-11-30 13:01

    Java 8 and above:

    String myString = "MySampleString123";
    System.out.println(myString.chars().map(c -> Character.isLetter(c) ? c ^ ' ' : c).collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append).toString());
    

    Code which is inverting the case of letter, is important to notice:

    Character.isLetter(c) ? c ^ ' ' : c
    

提交回复
热议问题