📜  Java程序将字符中每个单词的首字符大写(1)

📅  最后修改于: 2023-12-03 15:16:37.778000             🧑  作者: Mango

Java程序将字符中每个单词的首字符大写

简介

在Java编程中,有时需要将字符串中的单词首字符大写。这个需求通常用于规范化字符串输入,比如将用户输入的姓名、地址等首字母大写。

实现

Java中实现将字符串中每个单词的首字符大写有不同的方法。下面介绍两种较为常见的方法,可以通过代码实现。

方法一:使用StringTokenizer类

StringTokenizer类是Java自带的用于分割字符串的工具类。该类提供了nextToken()方法,可以将字符串按照指定的分隔符划分成若干个子串。这样,我们就可以将StringTokenizer类与substring()方法结合使用,将每个单词的首字母提取出来并转化成大写。

public static String capitalize(String input) {
  StringBuilder sb = new StringBuilder();
  StringTokenizer st = new StringTokenizer(input);
  while (st.hasMoreTokens()) {
    sb.append(Character.toUpperCase(st.nextToken().charAt(0))).append(st.nextToken().substring(1)).append(" ");
  }
  return sb.toString().trim();
}
方法二:使用正则表达式

Java中可以使用正则表达式来匹配字符串,并将匹配到的字符串替换成指定的字符。利用正则表达式,我们可以轻松地将每个单词的首字符替换成大写字母。

public static String capitalize(String input) {
  String[] words = input.split("\\s");
  StringBuilder sb = new StringBuilder();
  for (String word : words) {
    String capitalized = word.substring(0, 1).toUpperCase() + word.substring(1);
    sb.append(capitalized).append(" ");
  }
  return sb.toString().trim();
}
使用方法

将上述代码保存到Java文件中,并在需要的地方调用capitalize()方法即可。

String input = "hello world";
String output = capitalize(input);
System.out.println(output);  // 输出:Hello World
总结

本文介绍了两种Java实现将字符串中每个单词的首字符大写的方法。其中,StringTokenizer类的方式比较直观易懂,而使用正则表达式则可以更加灵活。在实际开发中,可以根据需要选择合适的方法来实现这一功能。