首页 > 代码库 > 字符串操作——见缝插针法

字符串操作——见缝插针法

需求:有大量类似于theProductId这样名字的字符串需要转换成the_product_id这种数据库column名的形式。

思路:见到()大写字母()就插入()一个“_”字符()进去,最后把所有字母都转换为小写。

解决办法:递归。用for循环能不能实现我不确定,反正我是绕蒙了。

方法如下:

public static String toDbFormat(String theString, String insertString, int i) {    StringBuilder sb = new StringBuilder(theString);    String result = theString;    if (i < sb.length()) {        if (Character.isUpperCase(sb.charAt(i))) {            sb.insert(i, insertString);            i = i + 2;        } else {            i++;        }        result = toDbFormat(sb.toString(), insertString, i);    }    return result.toLowerCase();}

测试结果:

技术分享

字符串操作——见缝插针法