如何用最后一个下划线拆分字符串

时间:2014-06-03 12:34:35

标签: java regex string

我必须用下划线拆分一个字符串。字符串可能有许多下划线但我必须用最后一个下划线拆分它。如何使用正则表达式进行简单的拆分方法?

4 个答案:

答案 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("_"));