Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 백준 1449 자바스크립트
- 백준 4796 타입스크립트
- 백준 4796 nodejs
- 백준 1449 타입스크립트
- 백준 11047 typescript
- 백준 1449 nodejs
- JavaScript
- 백준 1449
- 백준 1018 typescript
- 백준 11047 nodejs
- 백준 2503 타입스크립트
- 백준 1018 javascript
- 백준 4796 javascript
- 백준 2503 nodejs
- 백준 4796 자바스크립트
- 백준 2503 자바스크립트
- 백준 2503 javascript
- 백준 10448 javascript
- 백준 1018 타입스크립트
- 백준 11047 자바스크립트
- 백준 1449 노드
- 백준 1449 javascript
- 백준 4796 캠핑
- 알고리즘
- 백준 11047 타입스크립트
- 백준 2503 typescript
- CSS
- 백준 1018 자바스크립트
- 백준 1018 nodejs
- 백준 11047 javascript
Archives
- Today
- Total
POTATO THAT WANT TO BE HUMAN
[JavaScript] 모든 문자열 치환하기 - replaceAll ? 본문
반응형
지난 게시물에서는
자바스크립트에서 특정 문자열을 치환하는 방법을 알아봤습니다.
하지만 replace()는 여러 문자열이 있다면 첫번째로 발견한 문자열만 치환해줍니다.
그럼 여러 문자열을 치환하고 싶다면?
replaceAll()이 있다면 좋을텐데.. 아쉽게도 자바스크립트에는 replaceAll()이란건 없습니다 .. 😓
그럼 방법을 살펴볼까요?
let str = 'red, yellow, blue, red';
let newStr = str.replace(/red/g, 'pink');
console.log(str); // red, yellow, blue, red
console.log(newStr); // pink, yellow, blue, pink
모든 문자열을 치환하기 위해 정규식(regular expression)을 사용합니다.
정규식으로 찾으려는 문자열은 '/'로 감싸서 파라미터로 들어가는 값이 정규식임을 알려줍니다.
그리고 '/' 뒤에는 'g'라는 modifier를 붙여주었습니다.
g는 'global match'라는 의미로 사용됩니다.
그럼 대소문자 구분없이 모든 문자열을 치환하려면요? 🦜
지난 게시물에서 replace()는 대소문자를 구분한다고 했었죠
하지만 대소문자를 구분하지 않고 모든 문자열을 치환하고 싶을 경우가 있습니다.
그럴 경우 'g' modifier와 'i' modifier를 함께 적어주면 됩니다.
i는 'ignore case'라는 의미로, 대소문자를 구분하지 말라는 의미죠.
let str = 'Red, yellow, blue, red';
let newStr = str.replace(/red/gi, 'pink');
console.log(str); // Red, yellow, blue, red
console.log(newStr); // pink, yellow, blue, pink
반응형
'FRONTEND > JavaScript' 카테고리의 다른 글
[Javascript] 이벤트 버블링, 캡처링 (0) | 2022.01.31 |
---|---|
[JavaScript] forEach, for in, for of (0) | 2022.01.31 |
[JavaScript] 문자열 치환하기 - replace (0) | 2022.01.26 |
[JavaScript] 자바스크립트 페이지 이동 - location.href (0) | 2022.01.20 |
[JavaScript] 자바스크립트란? (0) | 2022.01.18 |
Comments