Java 如何在最后一次出现下划线字符时将字符串拆分为2
给定一个包含多个下划线字符的字符串,如何将其拆分为围绕最后一个下划线字符的两个子字符串Java 如何在最后一次出现下划线字符时将字符串拆分为2,java,regex,string,Java,Regex,String,给定一个包含多个下划线字符的字符串,如何将其拆分为围绕最后一个下划线字符的两个子字符串 例如,“a_b_c”=>[“a_b”,“_c”]您可以在String上使用lastIndexOf,它返回字符链最后一次出现的索引 String thing = "132131_12313_1321_312"; int index = thing.lastIndexOf("_"); String yourCuttedString = thing.substring(0, index); 如果在字符串中找不到匹
例如,“a_b_c”=>[“a_b”,“_c”]您可以在
String
上使用lastIndexOf
,它返回字符链最后一次出现的索引
String thing = "132131_12313_1321_312";
int index = thing.lastIndexOf("_");
String yourCuttedString = thing.substring(0, index);
如果在字符串中找不到匹配项,它将返回
-1
。您可以使用方法的字符串最后一个索引,这将返回一个int,然后可以将其传递到subString方法中
String code = "123_456_789";
String subString = code.subString(code.lastIndexOf("_"));
您可以使用,请尝试:
试试这个
String[] a = s.split("_(?!.*_)");
没有将
int
作为参数的split
方法。你是对的,我的坏意思是子字符串,将更新以反映这一点。str.subString(lastIndexOf+1,str.length())
也可以直接写入str.subString(lastIndexOf+1)
。
String[] a = s.split("_(?!.*_)");