-
[자바스크립트(javascript)] 모든 문자열 치환(repalce,replaceAll)자바스크립트/Javascript 2020. 11. 21. 10:20728x90반응형
문자열 치환
웹서비스를 구축하다보면 받아오는 데이터가 안내문등일 경우 그 안내문안에 이름과 전화번호등({nm},{phone}) 등으로 데이터가 들어와 이 데이터를 유동적으로 교체하는 경우가 많이 발생한다. 그럴경우에 안내문string을 replace로 변환하여 정상작동 하도록 만들기도한다.
let str = '동완, 바보, 바보, 바보'; let replaced_str = str.replace('바보', '천재');
위코드처럼 str.replace 를 사용하면 문자열을 바꿀수있다. 결과를 보자
잉? 분명히 문자열을 바꾸었는데 두번째 바보만 천재로 바뀌고 나머지는 변경되지 않았따? 왜그럴까? 자바스크립트 replace는 문자열에서 변경하려는 문자열이 여러 번 반복될경우, 첫번째로 발견한 문자열만 치환해준다. 다른 언어들은 replaceAll()이라는 함수가 있는데 자바스크립트는 존재하지않는다 .. 그렇다면 모든 문자열을 치환하려면 어떻게 해야할까?
그방법은 바로 정규식을 사용하는것이다. 정규식으로 / 뒤에 'g'라는 modifer를 붙여 주어 global match를 해주는것이다.
let str = '동완, 바보, 바보, 바보'; let replaced_str = str.replace(/바보/gi, '천재');
짜자잔 전부다 변경된것을 확인할수있다.
728x90반응형'자바스크립트 > Javascript' 카테고리의 다른 글
[자바스크립트]javascript 생성자 함수 (0) 2020.11.23 [자바스크립트]javascript RegExp란? (0) 2020.11.23 javascript Node 와 Element란? (2) 2020.11.22 [자바스크립트(javascript)]비동기 처리 및 콜백 함수 (0) 2020.11.21 javascript DOM이란 도대체 무엇인가? (0) 2020.04.24