gpt4 book ai didi

java - 如何在 Java 中将下划线转换为人类可读的名称?

转载 作者:行者123 更新时间:2023-12-01 07:20:27 25 4
gpt4 key购买 nike

我想编写一个将 CamelCase 转换为人类可读名称的方法。这与this question非常相似。但现在带有下划线。

这是测试用例:

public void testSplitUnderscore() {
assertEquals("lowercase", splitUnderscore("lowercase"));
assertEquals("Class", splitUnderscore("Class"));
assertEquals("My Class", splitUnderscore("My_Class"));
assertEquals("HTML", splitUnderscore("HTML"));
assertEquals("PDF Loader", splitUnderscore("PDF_Loader"));
assertEquals("A String", splitUnderscore("A_String"));
assertEquals("Simple XML Parser", splitUnderscore("Simple_XML_Parser"));
assertEquals("GL 11 Version", splitUnderscore("GL_11_Version"));
assertEquals("99 Bottles", splitUnderscore("99_Bottle"));
assertEquals("May 5", splitUnderscore("May_5"));
assertEquals("BFG 9000", splitUnderscore("BFG_9000"));
assertEquals("beginning", splitUnderscore("_beginning"));
assertEquals("end", splitUnderscore("end_"));
assertEquals("double middle", splitUnderscore("double__middle"));
assertEquals("double end", splitUnderscore("double_end__"));
assertEquals("double start", splitUnderscore("__double_start"));
assertEquals("double start middle end", splitUnderscore("__double_start__middle_end__"));
}

最佳答案

实现此目的的一种简单方法是将每个 '_' 替换为 ' ',然后修剪掉最终字符串中的空格:

public static String splitUnderscore(String s) {
return s.replace("_", " ").trim();
}

虽然上述方法适用于大多数情况,但为了处理多个相邻下划线,我们可以使用正则表达式将任意数量的连续下划线替换为单个 ' ':

public static String splitUnderscore(String s) {
return s.replaceAll("_{1,}", " ").trim();
}

关于java - 如何在 Java 中将下划线转换为人类可读的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39759890/

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