我必须用下划线拆分一个字符串。字符串可能有许多下划线但我必须用最后一个下划线拆分它。如何使用正则表达式进行简单的拆分方法?
答案 0 :(得分:18)
您可以在lastIndexOf
上使用String
,它会返回最后一个caracters链的索引。
String thing = "132131_12313_1321_312";
int index = thing.lastIndexOf("_");
String yourCuttedString = thing.substring(0, index);
如果在字符串中找不到该匹配项,则返回-1
。
答案 1 :(得分:6)
您可以使用String#lastIndexOf(String str)
,尝试:
int lastIndexOf = str.lastIndexOf("_");
String substring1 = str.substring(0, lastIndexOf);
String substring2 = str.substring(lastIndexOf+1, str.length());
答案 2 :(得分:3)
试试这个
String[] a = s.split("_(?!.*_)");
答案 3 :(得分:0)
您可以使用方法的String last索引,这将返回一个int,然后您可以将其传递给subString方法。
String code = "123_456_789";
String subString = code.subString(code.lastIndexOf("_"));