2015-01-13 2 views

답변

3

useDelimiter 전달 된 인수는 정규식 스캐너 클래스 다음()를 사용하여 B C D E 으로하는, b.c, d.e를 분리하는 것을 시도 하였다. 따라서이 경우 , 또는 .과 일치하는 "[,.]"과 같은 표현식을 사용할 수 있습니다.

+1

내부 문자 클래스 구분 기호를의는'.'는 메타 문자의 특성을 잃고 와일드 카드가 아닙니다. 정규식은',','\\'또는'.'와 일치합니다. 그것은 단순히 ""[,.] "'이어야합니다. [와우,이 주석에서 제대로 작동하지 않을 수 있습니다.] –

+0

오, 좋은 지적입니다. Ted에게 감사드립니다. 나는 고칠 것입니다. _invokes time machine_ 거기 있습니다. 고쳤다. 백 슬래시가'[] '안에서 그 특수성을 잃지 않기 때문에 백 슬래시와 일치 할 것이라고 생각하지 않습니다. 따라서 실제로는 정확하지만 약간 중복됩니다. –

+0

역 슬래시를 두 배로 늘린 것을 제외하고는 백 슬래시에서 벗어나 문자 클래스로 가져 오는 방법입니다. :)하지만 지금은 없어 졌으므로 모든 것이 좋습니다. –

1

전체 StringScanner을 사용하여 읽을 수 있습니다. 그럼 당신은

String str="a,b.c,d.e,"; 

지금 당신은 당신이 원하는 것을 얻을 replaceAll() 방법을 사용할 수 있습니다 다음과 같은 몇 가지있을 것이다.

String str="a,b.c,d.e,"; 
System.out.println(str.replaceAll(",|\\."," ")); 

아웃 넣어 :

a b c d e 
관련 문제