[英]Getting leading digits of a string using Google Guava
基本上,我有一些像
5 - Avenue Rd
9 - Bellamy
21 - Brimley
191 - Highway 27 Rocket
等等。 我正在寻找一种使用Google Guava
返回起始数字的方法。 根据我的研究:
CharMatcher.DIGIT.retainFrom
很不错,但我希望它在第一个非数字字符处停止。 CharMatcher.DIGIT.trimLeadingFrom
几乎是我想要的,除了它返回字符串的另一部分(我想要的是一串数字)。 有任何想法吗?
编辑:添加了另一个示例。
上面四个示例的预期输出:
5
9
21
191
不太相等,但是
CharMatcher.DIGIT.negate().trimTrailingFrom(string);
或者-涉及更多一点,但这将适用于中间数字-
string.substring(0, CharMatcher.DIGIT.negate().indexIn(string));
或者,使用正则表达式,尽管意味着所有开销-
string.replaceAll("^(\\d+).*$", "$1")
您为什么不只将“-”号上的字符串split()
,然后trim()
并解析...
String test ="5 - Avenue Rd";
String[] out = test.split("-");
System.out.println(out[0].trim());
我们不需要框架来做到这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.