我正在尝试使用WordUtils.capitalize(String)
来大写字符串中的每个单词,因为它完全符合我的要求。但是现在已弃用。
我应该使用什么方法?或者我必须编写自己的方法吗?
答案 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
。