前言
入职看了同事代码,发现有根据下横线截取字符串的代码,感觉比较严谨。
开发过程中经常要获取数据库表名,会涉及到字符串的截取,所以记录一番。
String str = "125aa_13_";
if (StringUtils.isNotEmpty(str)) {
str = str.substring(0, str.lastIndexOf("_") != -1 ?
str.lastIndexOf("_") :str.length());
}
下横线不在首位:
输出结果:
下横线在首位:
当字符串为
输出结果为:
也就是lastIndexOf(“_”)从后到前,截取“_”之前的所有元素,如果“_”在首位,则输出结果为空。
如果此字符串中没有这样的字符,则返回 -1。