1

基本的に、私はいくつかのような文字列を持っています

5 - Avenue Rd
9 - Bellamy
21 - Brimley
191 - Highway 27 Rocket

等々。GuavaGoogleを使用して最初の桁を返す方法を探しています。私が調査したことから:

  • CharMatcher.DIGIT.retainFromいいですが、最初の数字以外の文字で停止したいです。
  • CharMatcher.DIGIT.trimLeadingFrom代わりに数字の文字列が必要な文字列の他の部分を返すことを除いて、これはほとんど私が望むものです。

何か案は?

編集:別の例を追加しました。

上記の4つの例で期待される出力:

5
9
21
191
4

2 に答える 2

4

まったく同等ではありませんが

CharMatcher.DIGIT.negate().trimTrailingFrom(string);

または-もう少し複雑ですが、これは中間桁で機能します-

string.substring(0, CharMatcher.DIGIT.negate().indexIn(string));

または、正規表現を使用すると、-を意味するすべてのオーバーヘッドがありますが

string.replaceAll("^(\\d+).*$", "$1")
于 2012-11-04T20:03:46.167 に答える
1

split()「-」記号の文字列だけtrim()を解析してみませんか...

String test ="5 - Avenue Rd";
String[] out = test.split("-");
System.out.println(out[0].trim());

そのためのフレームワークは必要ありません。

于 2012-11-04T20:03:56.110 に答える