WordUtils.capitalize的替代方案?

时间:2017-06-17 01:27:36

标签: java string

我正在尝试使用WordUtils.capitalize(String)来大写字符串中的每个单词,因为它完全符合我的要求。但是现在已弃用。

我应该使用什么方法?或者我必须编写自己的方法吗?

2 个答案:

答案 0 :(得分:12)

不推荐使用commons-lang3中的实施。但是,commons-text中实现了相同的方法。因此,您可以使用基本相同的方法,但需要添加新的.jar文件并调整import语句。

来自javadoc of org.apache.commons.lang3.text.WordUtils

  

从3.6开始,使用commons-text WordUtils

如果使用Maven(或类似),请添加以下内容:

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

The reference for Commons Text:Apache Commons Text是一个专注于处理字符串的算法的库。

答案 1 :(得分:7)

您可以使用 apache.commons &#39; StringUtils.capitalise()

  

public static String capitalize(String str)

     

大写字符串将第一个字符更改为标题大小写   Character.toTitleCase(INT)。没有其他字符被更改。

而不是WordUtils类使用同一个包中的StringUtils,因此您不必通过添加额外的jar来更改项目配置。

<强>替代:

或者您可以自己实施,您可以尝试这样的事情:

String str = "john";
String newStr = str.substring(0, 1).toUpperCase() + str.substring(1);

将打印John