String.prototype.replace

은비·2023년 9월 6일
1

JS_String

목록 보기
6/6
post-thumbnail

replace() 메서드는 기본적으로 문자열에서 특정 부분을 찾아 다른 것으로 바꾸는 역할을 한다.

예를 들어, "Hello, World!"라는 문장에서 "World"를 "Earth"로 바꾸고 싶을때
replace() 메서드를 이용할 수 있다.

let str = "Hello, World!";

let newStr = str.replace("World", "Earth");
// "Hello, Earth!"

여기서 "World"가 찾을 대상이고 "Earth"가 그 대상을 어떻게 바꿀지를 나타낸다.

만약에 문장 안에 같은 단어가 여러 번 등장하고 그것들 모두를 한 번에 바꾸고 싶다면 정규 표현식(regexp)을 사용한다. 정규 표현식은 패턴을 만들어 그 패턴과 일치하는 모든 것들을 찾아준다. /g라는 옵션은 'global'의 줄임말로, 전체에서 찾으라는 의미이다.

let str = "Hello, World! World is beautiful.";

let newStr = str.replace(/World/g, "Earth");
// "Hello, Earth! Earth is beautiful."

여기서 /World/g가 'World'라는 단어를 전체에서 찾아내라는 패턴입니다. 이렇게 replace() 메서드를 활용하면 문자열 내의 일부 또는 전체를 원하는 방식으로 쉽게 변경할 수 있습니다.


정규 표현식에 대해 더 알기!

정규 표현식 내에서 일반적으로 문자 클래스를 나타낼 때 배열을 사용한다. (문자 하나인 경우는 ([]) 생략 가능)
문자 클래스는 대괄호([]) 안에 둘러싸인 문자들의 집합을 의미하며, 그 중 어느 하나와 일치하는지를 확인한다.
예를 들어, [abc]라는 정규 표현식은 'a', 'b', 'c' 중 어느 하나와 일치하는지 검사한다.

et str = "Hello, World!";

let newStr = str.replace(/[aeiou]/g, '*');
// "H*ll*, W*rld!"

위의 코드에서 /[aeiou]/g라는 정규 표현식은 모든 모음(a, e, i, o, u)을 찾아내고 이를 '*'로 바꾸라는 의미이다.

따라서 배열과 같이 보이는 대괄호([])가 사용되면 이것은 문자 클래스를 나타내며 그 안에 있는 각각의 문자 중 어느 하나와 매칭되는 경우를 찾는다.

0개의 댓글