JavaScript에서 string을 replaceAll 하고싶을 때

JavaScript에서 string을 replaceAll 하고싶을 때

javascript에서 스트링을 replace할때 당황스러웠던 적이 있었다.

1
2
> "javascript".replace("a","b")
'jbvascript'

저렇게 앞의 한글자만 replace를 해주기때문이다.
어떻게하면 깔끔하게 할 수 있을지 구글링하다보니 역시 답이 나왔다.

정규식을 이용해서 replace를 하면되는데

1
2
> "javascrip".replace(/a/gi,"b")
'jbvbscript'

저 뒤에 있는 gi는 정규표현식 옵션이다.

  • g : global
  • i : ignore case
  • m : multiline

좀 찾아보니 정규표현식을 쓰지않고 다른방법으로 쓰는 경우도 있었다.

1
2
3
4
5
6
function replaceAll(str, searchStr, replaceStr) {
return str.split(searchStr).join(replaceStr);
}

> replaceAll("javascript", "a", "b")
'jbvbscript'

이렇게 또 하나 알아갑니다.

Refer

댓글

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×