코딩응애의 개발블로그

코플릿 문제 풀면서 알게된 것들 - replace() 본문

코드스테이츠(부트캠프)

코플릿 문제 풀면서 알게된 것들 - replace()

이너멜 2022. 8. 1. 09:39

공백 2개를 1개로 바꿔서 출력을 해주는 문제 였는데 replace에 관해 더 자세히 알게됨 

const p = 'The quick brown fox jumps over the lazy dog.'
console.log(p.replace('dog', 'monkey')); "The quick brown fox jumps over the lazy monkey." 출력

보통 이런식으로 씀. 

replace() 특징은 첫번째로 찾은 문자열만 치환을 해준다는 것이다 예를 들어서 

let str = 'apple, banana, orange, banana';
console.log(str.replace('banana', 'tomato')); // "apple, tomato, orange, banana" 출력

분명 banana는 2개가 있는데 앞에 것만 바뀌고 뒤에거는 안바뀌는 것을 볼 수 있다 

또한 replace()는 대소문자를 구분을 해주어서 같은 단어라도 대소문자가 다르다면 바꾸질 않는다 ex) Banana 와 banana 

 

여기서 가장 중요한거 그럼 문자열에서 변경하려는 모든 문자열(변경하려는)을 치환하는 방법은 정규식을 사용하는 것이다.

let str = 'apple, banana, orange, banana';
let replaced_str = str.replace(/banana/g, 'tomato'); // "apple, tomato, orange, tomato" 출력

정규식으로 찾으려는 문자열은 '/'로 감싸서, 파라미터로 들어가는 값이 정규식 임을 알려 주고

'/' 뒤에는 'g'라는 modifier를 붙여주는데 g는 'global match'라는 의미 즉 발생할 모든 패턴에 대한 전역 검색이란 의미이다.

그리고 대소문자도 구분하지 않고 모든 문자열을 치환을 하려면 g뒤에다가 i를 붙여주면 된다 

여기서 i는 대소문자를 구분하지 말라는 의미 'ignore case'

 

정규식에 관한건 나중에 찾아보기 

Comments