gpt4 book ai didi

java - 需要将下划线分隔的单词转换为人类可读的形式吗?

转载 作者:行者123 更新时间:2023-11-29 04:12:46 25 4
gpt4 key购买 nike

我需要将下划线分隔的单词(如 NAME_OF_THINGS)转换为可读性更好的格式(如“事物名称”),在少数用例中我需要类似“事物名称”的格式。

我有以下代码,我使用 google guava 的 CaseFormat 类进行了转换。但它并没有给我确切的预期结果。有人可以建议我更好的转换方法吗?

StringUtils.join(StringUtils.splitByCharacterTypeCamelCase(
CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, input)), " ")

输入:NAME_OF_THINGS
预期:事物的名称
实际:事物名称

PS:我还需要事物名称(Of to of)之类的东西

最佳答案

使用 java-8,您可以在一行中完成此操作:

String str = "NAME_OF_THINGS";

Arrays.stream(str.replaceAll("_", " ").toLowerCase().split(" "))
.map(s -> Character.toUpperCase(s.charAt(0)) + s.substring(1) + " ")
.forEach(System.out::print);

在这里,我们将所有出现的_替换为"",然后将整个字符串转换为小写。接下来我们根据""进行拆分,然后进行子串运算得到结果。

这给出了输出:

Name Of Things

要仅将第一个字母大写使用:

String newString = Character.toUpperCase(str.charAt(0)) + str.substring(1)
.replaceAll("_", " ").toLowerCase();

这给出了:

Name of things

关于java - 需要将下划线分隔的单词转换为人类可读的形式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54088113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com