Substring()、lastIndexOf()、-1 的用法

前言

         入职看了同事代码,发现有根据下横线截取字符串的代码,感觉比较严谨。

开发过程中经常要获取数据库表名,会涉及到字符串的截取,所以记录一番。

String str = "125aa_13_";
if (StringUtils.isNotEmpty(str)) {
    str = str.substring(0, str.lastIndexOf("_") != -1 ? 
str.lastIndexOf("_") :str.length());
}

下横线不在首位:

输出结果:

 

下横线在首位:

当字符串为

输出结果为:

也就是lastIndexOf(“_”)从后到前,截取“_”之前的所有元素,如果“_”在首位,则输出结果为空。

如果此字符串中没有这样的字符,则返回 -1。

 

 

你可能感兴趣的:(java基础)