String
在 Java 中,字符串的字母大小写转换可以通过以下几种方法实现:
1. toUpperCase() 和 toLowerCase()
这两个方法是 String 类自带的,用于转换整个字符串的大小写。
(1) toUpperCase():转大写
String str = "Hello World";
String upperStr = str.toUpperCase(); // "HELLO WORLD"
(2) toLowerCase():转小写
String str = "Hello World";
String lowerStr = str.toLowerCase(); // "hello world"
(3) 注意事项
不改变原字符串:String 是不可变的,方法返回新字符串。
支持国际化:
String str = "straße"; // 德语 "street"
String upperStr = str.toUpperCase(Locale.GERMAN); // "STRASSE"
2. 单个字符大小写转换
如果只需要转换某个字符,可以用 Character 类的方法:
(1) Character.toUpperCase(char)
char ch = 'a';
char upperCh = Character.toUpperCase(ch); // 'A'
(2) Character.toLowerCase(char)
char ch = 'Z';
char lowerCh = Character.toLowerCase(ch); // 'z'
(3) 检查大小写
char ch = 'A';
boolean isUpper = Character.isUpperCase(ch); // true
boolean isLower = Character.isLowerCase(ch); // false
3. 字符串大小写互换(自定义转换)
如果需要 交替转换大小写(如 HeLlO),可以遍历字符串并逐个处理:
StringBuilder
没有直接提供 toUpperCase()/toLowerCase() 方法
(1) 示例:交替大小写
String str = "hello";
StringBuilder result = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if (i % 2 == 0) {
result.append(Character.toUpperCase(ch));
} else {
result.append(Character.toLowerCase(ch));
}
}
System.out.println(result.toString()); // "HeLlO"
(2) 示例:首字母大写(标题格式)
String str = "hello world";
String[] words = str.split(" ");
StringBuilder result = new StringBuilder();
for (String word : words) {
if (!word.isEmpty()) {
result.append(Character.toUpperCase(word.charAt(0)))
.append(word.substring(1).toLowerCase())
.append(" ");
}
}
System.out.println(result.toString().trim()); // "Hello World"
4. 正则表达式替换大小写
Java 的 Pattern 和 Matcher 可以结合正则表达式进行复杂的大小写转换:
(1) 将所有元音字母转大写
String str = "hello world";
String result = str.replaceAll("[aeiou]", match -> match.group().toUpperCase());
System.out.println(result); // "hEllO wOrld"
(2) 将特定单词转大写
String str = "java is awesome";
String result = str.replaceAll("\\bjava\\b", "JAVA");
System.out.println(result); // "JAVA is awesome"