텍스트 줄에서 double을 구문 분석하려고합니다. 나는 내가 원하는 것을하고 있다고 생각하는 몇 줄의 코드를 발견했다. 그러나, 나는 그것이 부정적인 복소수를 구문 분석하지 않을 것이라는 것을 발견했다. 나는 완전히 새로운 정규 표현식이고 약간은 압도적이다. 누군가가 아래 코드를 설명하고 각 부분의 의미를 말해 줄 수 있는지, 그리고 그것을 수정하여 양수와 음수를 모두 파싱 할 수 있는지 궁금합니다. 미리 감사드립니다!자바 : 양수 및 음수 이중 분석을위한 정규식
double nextDouble;
Matcher matcher = Pattern.compile("(?!=\\d\\.\\d\\.)([\\d.]+)").matcher(line);
if (matcher.find()) nextDouble = Double.parseDouble(matcher.group(1)));
편집 : 다음은 행의 예입니다. "104.44518717, 34.09785265, 103.39288764, 0.09813121, 0.00000000, -0.46612322, 4.68576504"
그것은 구문 분석 -0.46612322 0.46612322한다.
특정 이유를 사용 대하여 [사용해 Double.parseDouble() (http://docs.oracle.com/javase/1.4.2/docs/api/java /lang/Double.html#parseDouble%28java.lang.String%29)? –
Scanner.nextDouble()? –
@FlorianPeschka - 코드를 살펴보십시오. 문자열 내부에서 잠재적 double을 얻은 후에는 Double.parseDouble()을 사용합니다. –