Java WordUtils.capitalize的替代方案?
我正在尝试使用Java WordUtils.capitalize的替代方案?,java,string,Java,String,我正在尝试使用WordUtils.capitalize(string)将字符串中的每个单词大写,因为它正是我想要的。然而,它现在被弃用了 我应该用什么方法来代替?还是我必须编写自己的方法?commons-lang3中的实现已被弃用。但是,相同的方法在commons text中实现。因此,您可以使用基本相同的方法,但需要添加一个新的.jar文件并调整import语句 从: 从3.6开始,改用公共文本字UTILS 如果使用Maven(或类似),请添加以下内容: <dependency>
WordUtils.capitalize(string)
将字符串中的每个单词大写,因为它正是我想要的。然而,它现在被弃用了
我应该用什么方法来代替?还是我必须编写自己的方法?commons-lang3中的实现已被弃用。但是,相同的方法在
commons text
中实现。因此,您可以使用基本相同的方法,但需要添加一个新的.jar文件并调整import语句
从:
从3.6开始,改用公共文本字UTILS
如果使用Maven(或类似),请添加以下内容:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.1</version>
</dependency>
org.apache.commons
:Apache Commons Text是一个专注于处理字符串的算法的库。您可以使用Apache.Commons的:
公共静态字符串大写(字符串str)
根据将第一个字符更改为标题大小写的字符串大写
字符。toTitleCase(int)。不会更改其他字符
不要使用同一个包中的WordUtils
类,而是使用StringUtils
,这样您就不必通过添加额外的jar来更改项目配置
备选方案:
或者您可以自己实现,您可以尝试以下方法:
String str = "john";
String newStr = str.substring(0, 1).toUpperCase() + str.substring(1);
将在StringUtils.capitalize(字符串)上打印John
好的点
--这样可以避免添加另一个.jar文件。@KevinO是的,实际上它只是包的另一个类。WordUtils.capitalize将第一个字大写,其余字符转换为小写,而StringUtils.capitalize只将第一个字转换为大写,而不会将其余字符更改为大写lower@Aditya是的,这是这里请求的行为,只是第一个chnarcter应该更改:)不,请求是“将字符串中的每个单词大写”。示例:“甲板生成器”应更改为“甲板生成器”。使用StringUtils.capitalize可以获得“甲板生成器”。使用WordUtils.capitalize,您可以获得预期的“甲板生成器”,但这是不推荐的。所以用户正在寻找WordUtils.capitale的替代品,StringUtils.capitale提供了不同的结果。换句话说,这不是正确的答案。谢谢你的解决方案。我正在导入import org.apache.commons.text.WordUtils;这就是问题所在。这样一件奇怪的事情:导入commons文本,但不要使用该导入,而是使用commons.lang3.text中的导入*