【发布时间】:2014-06-03 12:34:35
【问题描述】:
给定一个包含多个下划线字符的字符串,如何将其拆分为围绕最后一个下划线字符的两个子字符串?
例如。 "a_b_c" => ["a_b", "_c"]
【问题讨论】:
给定一个包含多个下划线字符的字符串,如何将其拆分为围绕最后一个下划线字符的两个子字符串?
例如。 "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。
【讨论】:
你可以用String#lastIndexOf(String str),试试看:
int lastIndexOf = str.lastIndexOf("_");
String substring1 = str.substring(0, lastIndexOf);
String substring2 = str.substring(lastIndexOf+1, str.length());
【讨论】:
str.substring(lastIndexOf+1, str.length())也可以直接写成str.substring(lastIndexOf+1)。
试试这个
String[] a = s.split("_(?!.*_)");
【讨论】:
你可以使用方法的String last index,这会返回一个int,然后你可以将它传递给subString方法。
String code = "123_456_789";
String subString = code.subString(code.lastIndexOf("_"));
【讨论】:
int 作为参数的split 方法。