小编典典

将字符串分解为大写字符

java

我正在制作一种方法来读取整个类代码并对其进行一些处理。

我想要做的是获取方法的名称,并使用它创建一个字符串。

像removeProduct这样的东西

我将创建一个字符串“删除产品”

在大写情况下如何拆分名称方法?如何用每个单词的第一个字母作为大写字母来构建这个新字符串?我正在使用子字符串,是否有更简便更好的方法呢?

ps:我确定我的巴西英语对标题没有帮助。如果有人能让它看起来更好,我将不胜感激。


阅读 208

收藏
2020-11-19

共1个答案

小编典典

您可以使用正则表达式将名称拆分为多个单词,然后将第一个大写:

public static void main(String[] args) {
    String input = "removeProduct";

    //split into words
    String[] words = input.split("(?=[A-Z])");

    words[0] = capitalizeFirstLetter(words[0]);

    //join
    StringBuilder builder = new StringBuilder();
    for ( String s : words ) {
        builder.append(s).append(" ");
    }

    System.out.println(builder.toString());

}

private static String capitalizeFirstLetter(String in) {
    return in.substring(0, 1).toUpperCase() + in.substring(1);
}

请注意,这需要更好的特殊情况处理,例如不要在末尾添加空格并处理1个字符的单词。

编辑 :我的意思是解释正则表达式。正则表达式(?=[A-Z])零宽度的断言(正向超前),与下一个字符在“ A”和“ Z”之间的位置匹配。

2020-11-19