首页 > 解决方案 > 小写首字母并在 Java 中使用“_”而不是“”

问题描述

我有一个 Java 程序,我想将字符串中单词的每个字符都设为小写字符,并将空格“”替换为“_”。所以这里有一些例子:

如果可能的话,我不想使用任何库。你介意告诉我我该怎么做吗?我会很感激每一条评论。

标签: javastring

解决方案


public static String modifyString(String str) {
    if (str == null)
        return null;
    if (str.isEmpty())
        return str;
    
    StringBuilder buf = new StringBuilder(str.length());
    
    for(int i = 0; i < str.length(); i++) {
        char ch = str.charAt(i);
        buf.append(ch == ' ' ? '_' : Character.toLowerCase(ch));
    }
    
    return buf.toString();
}

PS当然,它可能是更多的另一种解决方案,例如str.replace(" ", "_").toLowerCase(). 我的解决方案使用StringBuilder正确的方式构建String而不使用Regexp. 时间复杂度为O(n)


推荐阅读