정규표현식을 이용해서 replaceAll과 같은 역할을 하는 함수를 만들었다.
fullStr.replace(/NAY/gi, "RAY"); 를 호출하면 fullStr의 문자중에 "NAY"를 모두 "RAY"로 변경한다.
하지만 내가 구현해야 하는 부분은 치환할 종류가 세가지이다. 고객명, 회사명, 사용자명.
역할은 동일하니까 치환자를 파라미터로 받아서 처리하도록 구현했다.
헉 하지만 /NAY/gi 부분의 NAY를 변수에 저장해서 호출하니까 제대로 동작하지 않는다.
검색해봤더니 정규표현식에서 변수를 사용하려면 반드시 RegExp()를 호출해야 한단다.
1 2 3 4 | // fullStr에 있는 모든 searchStr을 replaceStr로 치환 getReplaced:function(fullStr, searchStr, replaceStr) { return fullStr.replace(new RegExp(searchStr, "gi"), replaceStr); } | cs |
필요성을 못느끼는 상태에서 정규표현식을 공부 할 때에는 지루하고 재미없고 이해되지 않는 외계어였는데,
필요성을 절실히 느낀 상태에서 정규표현식을 사용하니까 정말 정말 정말 재미있다.
마치 작은 거인을 보는듯하다. 흥미롭다.
오늘 내가 사용한 정규표현식은 새발의 피겠지? 얼마나 신통방통한 기능들이 더 많을지 기대된다.
http://note.redgoose.me/article/708/ 에서 필요한 정보를 잘 얻었다.
'프로그래밍' 카테고리의 다른 글
[Eclipse] Maven 프로젝트인지 구별하는 방법 :: pom.xml (0) | 2017.09.08 |
---|---|
[네트워킹] 그림으로 배우는 Http&Network Basic, 목표기간 3주! (0) | 2017.04.25 |
POST, MIME-Type, Content-Type, multipart, x-www-urlencoded (0) | 2017.01.23 |