2013-03-29 9 views
1

전체적인 아이디어는 공백 다음에 쉼표 (,)를 사용하거나 쉼표 다음에 공백 (,)을 하나만 쉼표 (,)로 바꾸는 것입니다. 우리는 다음과 같은 일을 할 수 있습니까?자바에서 replaceAll()을 사용하여 여러 번 대체 할 수 있습니까?

strLine = strLine.replaceAll(", | ,",","); 
+0

* * 다음과 같은 우리가 어떤 일을 할 수 - 예. 시도 해봐. 그러나 따라서 "1,2,3,4"에 대해서는 좋지 않을 것입니다. – Maroun

+0

이미 답변을 게시 한 것 같습니다 :'strLine = strLine.replaceAll (", |,", ",")'그러나 이미 시도했지만 예상 결과를 얻지 못했다면 좀 더 자세하게 설명하십시오 . –

답변

3

귀하의 "a,b,c, d , e""a ,b, c , d , e" 변경됩니다 교체합니다.

replaceAll("\\s*,\\s*",",") 다음 형식을 사용하는 것이 더 좋을 수 있습니다.

"a,b,c,d,e"

\\s 공간, 탭 및 새로운 라인 마크를 일치 생산합니다, * 콘텐츠가 0 번 이상 나타날 수 있습니다 전에 있다는 것을 의미한다.

3

replaceAll은 대체하기 전에 먼저 Pattern을 작성하고 Pattern에 대한 javadocs를 보면 알 수 있습니다. 당신이 원하는 기능을 정확하게 가지고 있습니다.

3

당신은이를 사용할 수 있습니다

strLine = strLine .replaceAll("\\s?,\\s?",",");