COCO World

[JavaScript/자바스크립트] 문자열의 양 옆 사이드 공백 제거하기 - trim(), replace() 본문

Language/JavaScript

[JavaScript/자바스크립트] 문자열의 양 옆 사이드 공백 제거하기 - trim(), replace()

코코월드주인장 2023. 8. 11. 11:08
  • trim()
    • 자체적으로 양 옆 공백을 제거해주는 메서드
  • replace()
    • 정규식을 이용하여 양 옆 공백을 제거해주는 메서드로 좀 더 커스터마이징으로 활용 가능

 


1. trim()

let str = ' 반가워요! ';

let trimValue = str.trim();

console.log(trimValue);

// 출력
'반가워요!'

 

 

2. replace()

let str = ' 반가워요! ';

let trimValue = str.replace(/^\s+|\s+$/gm, '');

console.log(trimValue);

// 출력
'반가워요!'

2-1. replace의 모든 공백 제거

let str = ' 반 가 워 요 ! ';

let trimValue = str.replace(/ /gi, '');

console.log(trimValue);

// 출력
'반가워요!'

 

2-2. 맨 앞의 공백만 제거

let str = ' 반가워요 ! ';

let trimValue = str.replace(/^ /gi, '');

console.log(trimValue);

// 출력
'반가워요 ! '

 

2-3. 맨 뒤의 공백만 제거

let str = ' 반가워요! ';

let trimValue = str.replace(/\s$/gi, '');

console.log(trimValue);

// 출력
' 반가워요!'

 

2-4. 앞 뒤 공백을 제거 = trim()과 같은 역할

let str = ' 반 가 워 요 ! ';

let trimValue = str.replace(/(^\s*)|(\s*$)/gi, '');

console.log(trimValue);

// 출력
'반 가 워 요 !'

 


리액트에서 사용자 UI를 위해 onChange 에 메서드 적용하려고 했었는데, 제목같은 경우는 onChange에서 trim()을 먹이면 곤란하다. 타이밍 하나하나가 뒤 공백으로 인식하여 띄어쓰기가 안되기 때문에 (1) 앞에 공백을 제거하거나 (2) onchange가 아닌 API 통신 또는 값을 보내는 부분에서 양옆 공백을 적용해야 한다.