이것 또한 나를 괴롭혔던 놈들로부터 해방시켜준 메소드이다.
문자열 양 끝
의 공백을 제거하는 기능을 가지고 있다.
let awesome = ' potter is awesome '
console.log(awesome.trim()) /// 'potter is awesome'
만약, string.ptototype.trim()을 사용하지 말라는 조건이 붙는다면...
-->
브라우저에 따라 trim()이 오작동이 될 경우도 있다고 한다.
그에 대한 대체 방법이다.
let awesome = ' potter is awesome '
console.log(awesome.replace(/^\s+|\s+$/gm, ''));
[참고] replace()
searchValue, newValue의 총 두개의 파라미터를 받는다.
seachValue에는 문자열 혹은 정규식을 넣을 수 있다고 한다.
string.replace(searchValue, newValue);
ex)
let potter = '잘a생a김a';
console.log(potter.replace(/a/g,''));
// "잘생김"
console.log(potter.replace(/a/gi,''));
// "잘생김"
즉, 문자를 교체하는 것이기 때문에 공백이 아니라도 가능하다.
하나 더 나아가자면,
[g vs gi]
let potter = '잘a생A김a';
console.log(potter.replace(/a/g, ''));
// "잘생A김"
console.log(potter.replace(/a/gi, ''));
// "잘생김"
위와 같이 g와 gi에 대한 차이를 볼 수 있는데
g
만 사용하면 대소문자를 구분
gi
는 i라는 옵션을 사용하여, 대소문자를 구분 x
정규식에 관하여는 좀 더 공부하고 포스팅 해야겠다.
let awesome = ' potter is awesome '
console.log(awesome.replace(/ /g, '')
// potterisawesome
console.log(awesome.replace(/(\s*)/g, ''));
// potterisawesome
만약 -> 정규식을 사용 x라면,
console.log(awesome.replace(" ","")
// ' potter is awesome '--> 제일 첫번째로 등장하는 space만 없어짐
// 공백이 두개가 있었던 것이 한개로 줄어듦.
따라서 '모든' 공백을 제거하려면 정규식을 사용해 replace()를 사용해야한다.
그게 아니라면 함수를 직접 만들거나.
let awesome = ' potter is awesome '
console.log(awesome.replace(/^\s*/, ""));
// 'potter is awesome '
let awesome = ' potter is awesome '
console.log(awesome.replace(/\s*$/, ""));
// ' potter is awesome'
오늘은 공백 제거에 대한 공부를 하려했지만
어쩌다보니 정규식까지 건들게 되었다.
오늘의 포인트에 집중하기 위해 더이상의 스노우볼은 중단하고...
정규식에 관하여는 좀 더 공부하고 포스팅 해야겠다.