我有一个String,如下所示
如何在hash?之后选择最后一个值?
Fountain#Apple#Big(7) should give Big(7)
Fountain#Orange(8) should give Orange(8)
我可以使用 StringTokienizer 来做到这一点,但是如果有更好更简单的方法可以解决这个问题吗?
答案 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);
}