2016-09-22 20 views
0

のためのパターンは、私は、このパターンを以下の文字列を持っている:2または9が1桁以上を含むことができ正規表現:シンプルな分割文字列

2/9 (22%)

。私はそれらの二つの整数を解析する必要があるので、私はこのパターンを思い付いた:

String patternString = "([0-9]+)/([0-9]+).*"; 
Pattern pattern = Pattern.compile(patternString); 
Matcher matcher = pattern.matcher(stat); 

if (matcher.matches()) { 
    int i = Integer.parseInt(matcher.group(0)); 
    int j = Integer.parseInt(matcher.group(2)); 
} 

しかし、これは次のエラーでクラッシュ:

java.lang.NumberFormatException: Invalid int: "2/9 (22%)"

それが文字列全体に一致していることを意味します0番目のグループ。

また、文字を[/]の中に入れてみましたが、同じ結果になりました。

私は間違っていますか?ありがとう!

答えて

1

と一致します。

group(0)は、実際に質問に記載された文字列全体です。

+0

Ack!ありがとう。それを理解していない。 – Alex

2

使用グループ1グループ0は、あなたがgroup(1)group(2)を使用する必要があり、文字列全体

int i = Integer.parseInt(matcher.group(1)); 
関連する問題