Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在最后一次出现下划线字符时将字符串拆分为2_Java_Regex_String - Fatal编程技术网

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("_(?!.*_)");