行业资讯 2025年08月6日
0 收藏 0 点赞 813 浏览 2091 个字
摘要 :

文章目录 1. 使用WordUtils 1.1. Maven 依赖 1.2. 使用WordUtils.capitalizeFully()进行标题大小写转换 1.3. 将分隔字符串大写 2. 使用String.split()和StringBuffer ……




  • 1. 使用WordUtils
  • 2. 使用String.split()和StringBuffer
  • 三、结论

学习在 Java 中将字符串转换为标题大小写格式。我们将使用 Apache commons 的WordUtils.capitalizeFully() API 并手动拆分和附加单词。

1. 使用WordUtils

这是最简单直接的解决方案。Apache commons-text提供了WordUtils类,其中包含对 Java String的单词执行操作的实用方法。

1.1. Maven 依赖

开始将在项目中包含最新版本的库。

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-text</artifactId>
    <version>1.4</version>
</dependency>

1.2. 使用WordUtils.capitalizeFully()进行标题大小写转换

CapitalizeFully ()方法将字符串中所有以空格分隔的单词转换为大写单词。在结果字符串中,每个单词都由一个标题大写字符和一系列小写字符组成。

输入 null 字符串返回 null

String string = \"how TO Do iN JAVA\";
String capitalizedString = WordUtils.capitalizeFully(string);
Assertions.assertEquals(\"How To Do In Java\", capitalizedString);

1.3. 将分隔字符串大写

如果字符串包含很少的分隔符来分割单词,我们可以将分隔符作为第二个参数传递给该方法。

请注意,capitalizeFully()不会从结果字符串中删除分隔符,它仅使用分隔符来标记字符串。

String string = \"how-TO Do$iN JAVA\";
String capitalizedString = WordUtils.capitalizeFully(string, new char[]{\' \', \'-\', \'$\'});
Assertions.assertEquals(\"How-To Do$In Java\", capitalizedString);

2. 使用String.split()和StringBuffer

将字符串大写的另一种解决方案是使用空格分隔符(或其他分隔符)手动拆分字符串,并在大写后附加各个标记。令牌资本化的过程如下:

  • 将第一个字符转换为大写
  • 将字符串的其余部分转换为小写
  • 将结果附加到StringBuffer后跟空格(“”)或分隔符
  • 返回结果字符串
public static String titleCase(String inputString) {
  if (StringUtils.isBlank(inputString)) {
    return \"\";
  }
  if (StringUtils.length(inputString) == 1) {
    return inputString.toUpperCase();
  }
  StringBuffer resultPlaceHolder = new StringBuffer(inputString.length());
  Stream.of(inputString.split(\" \")).forEach(stringPart -> {
    if (stringPart.length() > 1) {
      resultPlaceHolder.append(stringPart.substring(0, 1).toUpperCase())
          .append(stringPart.substring(1).toLowerCase());
    } else {
      resultPlaceHolder.append(stringPart.toUpperCase());
    }
    resultPlaceHolder.append(\" \");
  });
  return StringUtils.trim(resultPlaceHolder.toString());
}

让我们用几个字符串测试titleCase()函数:

Assertions.assertEquals(\"Null\", titleCase(null));
Assertions.assertEquals(\"\", titleCase(\"\"));
Assertions.assertEquals(\"How To Do In Java\", titleCase(\"HOW to DO IN jAVA\"));
Assertions.assertEquals(\"How To Do In Java\", titleCase(\"how to do in java\"));

三、结论

在这个简短的 Java 字符串教程中,我们学习了使用WordUtils类将字符串的单词转换为标题大小写,并通过手动拆分每个单词并单独将其大写来创建自定义解决方案。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/9192.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

986
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

463
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

347
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

455
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

516
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

831
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号