现在想将java格式的字符串转换成数据库格式
由于数据库字段是不区分大小写的,所以想要将其中的大写字母转换成“_+小写字母”的形式
如userFirstName转换成user_first_name
求一个最简单的方法

解决方案 »

  1.   

    StringBuffer sb = new StringBuffer(sourcePropertyName.length() + 1);
            for (int i = 0; i < sourcePropertyName.length(); i++) {
                char c = sourcePropertyName.charAt(i);
                if (Character.isUpperCase(c)) {
                    sb.append('_');
                    sb.append(Character.toLowerCase(c));
                } else {
                    sb.append(c);
                }
            }
            return sb.toString();
      

  2.   

    用string.charAt(i),然后判断是不是大写的,后再拼字符串
      

  3.   

    一楼正解,
    我也来一个。
             String oldStr = "userFirstName";
             String oneStr="";
             String lowStr="";
             int len = oldStr.length();
             StringBuffer abc = new StringBuffer();
             for (int i=0; i < len; i++)
             {
                 oneStr = oldStr.substring(i, i+1);
                 lowStr = oneStr.toLowerCase();
                 System.out.println("get String1:"+oneStr);
                 abc.append(oneStr.equals(lowStr)?oneStr : "_"+lowStr);
             }
             if (abc != null)
             {
                 System.out.println("get String:"+abc.toString());
             }