Javascript에서 유니코드 문자 제거하는 방법( string.replace() )

조회수 2461회

안녕하십니까, javascript로 텍스트 안에있는 &zwj&emsp 두개의 유니코드를 삭제하려고 하는데, 생각처럼 잘 되지 않습니다.

<div class="item" data-value="0399">&zwj;&emsp;Fruits </div>
<div class="item" data-value="0359">&zwj;&emsp;&zwj;&emsp;Banana And Apple </div>
<div class="item" data-value="0359">&zwj;&emsp;&zwj;&emsp;Apple And Kiwi </div>
<div class="item" data-value="0359">&zwj;&emsp;&zwj;&emsp;Kiwi And pineapple </div>

현재 이런 구조로 되어있구요,

&emsp만 있을때는 그냥 모든 노드의 textContent나 text를 가져와서

text.replace(/&emsp/g, ''); 이렇게 하면 공백문자가 다 없어졌는데,

&zwj;&emsp;가 같이 있는 경우에는,

text.replace(/&zwj;&emsp;/g, ''))
text.replace(/&zwj;|&emsp;/g, ''))
text.replace(/&emsp;/g, ''))

아래 세가지를 다 해봐도 아무런 변화가 없습니다.

어떻게 해야, 저 &zwj;&emsp;를 지울 수 있을까요?

검색한 바에 의하면 &emsp; 는 유니코드로 u2003 &zwj;는 유니코드로 u200D 라고 하는데, 이거를 이용해서 해결해야 하는건가요?

고수님들 답변 부탁드립니다!

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • text&zwj;&emsp;Fruits이와같이 ;로 구분될때는

    text.split(';')으로 문자열을 자르신 다음에

    배열의 마지막 요소만 가져오는게 제일 쉬운 방법 같네요.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)