需求:有大量类似于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(); }
测试结果:
时间: 2024-11-08 21:53:47