大小写转换

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"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值