如何在哈希之后选择最后一个值?

时间:2014-06-28 15:52:31

标签: java

我有一个String,如下所示

如何在hash?之后选择最后一个值?

Fountain#Apple#Big(7)   should give Big(7) 
Fountain#Orange(8)      should give Orange(8) 

我可以使用 StringTokienizer 来做到这一点,但是如果有更好更简单的方法可以解决这个问题吗?

3 个答案:

答案 0 :(得分:4)

s.substring(s.lastIndexOf('#') + 1)应该完成这项工作。

答案 1 :(得分:1)

您可以使用split()类的String方法,如下所示:

String apples = "Fountain#Apple#Big(7)";
String[] sections = apples.split("#");
// sections[0] == "Fountain"
// sections[1] == "Apple"
// sections[2] == "Big(7)"
String lastSection = sections.length > 0 ? sections[sections.length - 1] : null;
System.out.println(lastSection); // Prints: "Big(7)"

答案 2 :(得分:0)

正则表达式版本:

Pattern p = Pattern.compile("(?<=#)([^#]*)$");
Matcher matcher = p.matcher(s);
if (matcher.find()) {
    String afterHash = matcher.group(1);
}