2014-09-30 5 views
0

문자열의 모든 공백을 모두 공백으로 바꾸려고합니다. 나는이 노력하고있어 :문자열에서 공백을 Java의 정규식으로 바꿉니다.

String src = "2.       Test Sentence with  spaces"; 
String out = src.replaceAll("\\s+", " "); 
System.out.println(out); 

을 그리고 이것은 내가 갖는 것입니다 :

2.       Test Sentence with spaces 

공백 도트가 교체되지 않은 후 ... 왜?

+0

그것은 나를 위해 작동합니다 ... –

+0

그것은 나를 위해 완벽하게 잘 작동합니다. 이게 진짜 코드인가요? – BackSlash

+2

편집기의 16 진수 모드에서 프로그램을 살펴볼 수 있습니까? 공백 만 있다고 생각되는 이상한 유니 코드 코드가있을 수 있습니까? –

답변

3

당신은 유니 코드 범주로 시도 할 수 있습니다 : 공백과 함께 분리, 공간 :

[1 space] 

카테고리 Zs의 문자 목록 here를 참조

String input = "\u0020\u00A0\u1680\u2000\u2001\t"; //etc. 17 characters 
System.out.println(input.replaceAll("[\\p{Zs}\\s]+", " ")); 

출력.

관련 문제