런타임노트

[Java] 여러 개의 연속된 공백을 하나의 공백으로 치환하기 | replaceAll() 본문

JAVA

[Java] 여러 개의 연속된 공백을 하나의 공백으로 치환하기 | replaceAll()

D269 2023. 9. 21. 09:04
728x90

 

출처 : https://hianna.tistory.com/529

 

replaceAll() 과 정규식(regular expression, regex) 활용

 

public class ToSingleSpace {
    public static void main(String[] args) {
 
        String str = "Hi,    Every\t\t One!";
 
        // 연속된 공백 -> 하나의 공백으로
        String newStr = str.replaceAll("\\s+", " ");
 
        // 결과 출력
        System.out.println("[" + newStr + "]");
 
    }
}


// 결과 
// [Hi, Every One!]

 

 

str.replaceAll("\\s+", " ");

정규식 "\s"는 다음과 같은 종류의 공백(white space)을 나타냅니다.

(\t, \n, \x0B, \f, \r)

그리고 "+"는 1번이상을 의미합니다.

즉, "\s+"는 1번 이상의 공백을 의미합니다.

따라서, 위 코드는 연속되는 공백을, 하나의 공백(" ")으로 치환해 주게 됩니다.

 

 

 

 

728x90
반응형