如何使用 Java 将每个单词的第一个字符转换为大写

问题描述

如何将每个单词的第一个字符转换为大写?

解决方案

以下示例演示如何使用 toUpperCase()、appendTail() 方法将字符串中每个单词的第一个字母转换为大写字母。

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
   public static void main(String[] args) {
      String str = "this is a java test";
      System.out.println(str);
      StringBuffer stringbf = new StringBuffer();
      Matcher m = Pattern.compile(
         "([a-z])([a-z]*)", Pattern.CASE_INSENSITIVE).matcher(str);
      
      while (m.find()) {
         m.appendReplacement(
            stringbf, m.group(1).toUpperCase() + m.group(2).toLowerCase());
      }
      System.out.println(m.appendTail(stringbf).toString());
   }
}

结果

上述代码示例将产生以下结果。

this is a java test
This Is A Java Test
java_regular_exp.html