如何在Java中反转字符串的大小写?
2022-09-03 03:28:37
我想更改一个字符串,以便所有大写字符变为小写,所有小写字符变为大写。数字字符将被忽略。
所以“AbCdE123”变成了“aBcDe123”
我想一定有一种方法可以遍历字符串并翻转每个字符,或者可能是一些可以做到这一点的正则表达式。
我想更改一个字符串,以便所有大写字符变为小写,所有小写字符变为大写。数字字符将被忽略。
所以“AbCdE123”变成了“aBcDe123”
我想一定有一种方法可以遍历字符串并翻转每个字符,或者可能是一些可以做到这一点的正则表达式。
我不相信有任何内置的东西来做到这一点(这是相对不寻常的)。不过,这应该可以做到:
public static String reverseCase(String text)
{
char[] chars = text.toCharArray();
for (int i = 0; i < chars.length; i++)
{
char c = chars[i];
if (Character.isUpperCase(c))
{
chars[i] = Character.toLowerCase(c);
}
else if (Character.isLowerCase(c))
{
chars[i] = Character.toUpperCase(c);
}
}
return new String(chars);
}
请注意,这不会像 String.toUpperCase/String.toLowerCase 那样进行特定于区域设置的更改。它也不处理非 BMP 字符。