[英]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.