2016-09-22 4 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

된 승인에 명시된 전체 문자열이다! 감사. 그걸 몰랐어. – Alex

2

사용 그룹 1 그룹 0 당신은 group(1)group(2)를 사용해야 전체 문자열

int i = Integer.parseInt(matcher.group(1));