전 js 문자열 replace replace All

더 읽 기
원문:http://www.cnblogs.com/shuaisam/archive/2012/04/12/2442741.html
 
  • js 에서 문자열 의 교체
  • var str = "        ";
    alert(str.replace(' ',''));

    교 체 된 str 의 값 을 볼 수 있 습 니 다. "남녀 의 늙 고 적 음" 입 니 다. replace (str1, str2) 방법 은 첫 번 째 일치 하 는 문자열 만 바 꾸 었 습 니 다. 어떻게 모든 일치 하 는 문자열 을 바 꿀 수 있 습 니까?자바 언어 에서 제 시 된 replace All 방법 은 이러한 기능 을 실현 할 수 있 지만, 자바 script 은 이러한 방법 을 제공 하지 않 았 기 때문에 유감 입 니 다. 그러나 replace 방법 은 우리 가 생각 하 는 것 보다 강하 고, 실제로 그것 을 통 해 우 리 는 우리 의 수 요 를 실현 할 수 있 습 니 다.
    replace 의 문법 정 의 를 내 립 니 다.
    stringObj.replace(rgExp, replaceText)
    그 중에서 stringObj 는 문자열 (string) 이 고 reExp 는 정규 표현 식 대상 (RegExp) 일 수도 있 고 문자열 (string) 일 수도 있 으 며 replace Text 는 찾 은 문자열 을 대체 합 니 다.
    첫 번 째 예 는 매개 변수 rgExp 를 문자열 로 하 는 경우 입 니 다. 다음은 정규 표현 식 으로 모든 교체 기능 을 수행 합 니 다.
    var str = "        ";
    alert(str.replace(new RegExp(/( )/g),''));

    이상 은 문자열 의 모든 교 체 를 실 현 했 습 니 다. 그러나 이러한 정규 표현 식 은 한계 가 있 습 니 다. 특정한 문자열 과 일치 합 니 다. 동적 문자열 과 어떻게 일치 합 니까?
    var replaceStr = " ";
    alert(str.replace(new RegExp(replaceStr,'gm'),''));

    이렇게 해서 우 리 는 문자열 과 일치 하 는 동적 할당 을 완성 했다.
    또 다른 방법 으로 모든 교 체 를 실현 할 수 있다
    alert(str.split(replaceStr).join(''));

    인터넷 에서 한 가지 방법 을 찾 았 으 니, 취 할 수 없 을 것 같다.
    function ReplaceAll(str, sptr, sptr1){
                        while (str.indexOf(sptr) >= 0){
                           str = str.replace(sptr, sptr1);
                        }
                        return str;
                 }

    이 방법 을 사용 하여 다음 코드 를 실행 하면 순환 에 빠 질 것 이다.
    var ss = 'abc';
    alert(ReplaceAll(ss,'b','bc'));

    좋은 웹페이지 즐겨찾기