javascript 에서 replace 사용 방법 요약

3049 단어 jsreplace
ECMAScript 는 replace()방법 을 제공 합 니 다.이 방법 은 두 개의 인 자 를 받 습 니 다.첫 번 째 인 자 는 RegExp 대상 이나 문자열 일 수 있 습 니 다.두 번 째 인 자 는 문자열 이나 함수 일 수 있 습 니 다.지금 우 리 는 발생 할 수 있 는 몇 가지 상황 을 상세 하 게 설명 한다.
1.두 인자 가 모두 문자열 인 경우

 var text = 'cat, bat, sat, fat';
 //        at,  at   ond,     
 var result = text.replace('at', 'ond');
// "cond, bat, sat, fat"
 console.log(result);


2.첫 번 째 매개 변 수 는 RegExp 대상 이 고 두 번 째 매개 변 수 는 문자열 입 니 다.
우 리 는 위의 상황 이 첫 번 째 at 만 바 뀌 었 다 는 것 을 알 수 있 습 니 다.모든 at 를 바 꾸 려 면 RegExp 대상 을 사용 해 야 합 니 다.

var text = 'cat, bat, sat, fat';
 //   /at/g       at,  ond    
 var result = text.replace(/at/g, 'ond');
 // cond, bond, sond, fond
 console.log(result);

3.RegExp 대상 중 포획 조 의 상황 고려
RegExp 는 포획 그룹 을 저장 하 는 9 개의 속성 을 가지 고 있 습 니 다.$1,$2...$9,각각 첫 번 째 부터 아홉 개의 일치 하 는 포획 그룹 을 저장 하 는 데 사 용 됩 니 다.우 리 는 이 속성 들 을 방문 하여 저 장 된 값 을 얻 을 수 있 습 니 다.

var text = 'cat, bat, sat, fat';
 //   /(.at)/g       ,      ,          $1 
 var result = text.replace(/(.at)/g, '$($1)');
 // $(cat), $(bat), $(sat), $(fat)
 console.log(result);


4.두 번 째 매개 변수 가 함수 인 경우 RegExp 대상 에 캡 처 그룹 이 존재 하지 않 는 경우

var text = 'cat, bat, sat, fat';
 //   /at/g          at,      ond,
 //         :       ,         ,     
 var result = text.replace(/at/g, function(match, pos, originalText) {
  console.log(match + ' ' + pos);
  return 'ond'
 });
 console.log(result);
 //   
 /*
  at 1 dd.html:12:9
  at 6 dd.html:12:9
  at 11 dd.html:12:9
  at 16 dd.html:12:9
  cond, bond, sond, fond dd.html:16:5
 */

5.두 번 째 매개 변수 가 함수 인 경우 RegExp 대상 에 캡 처 그룹 이 존재 하 는 경우

var text = 'cat, bat, sat, fat';
 //   /(.at)/g          at,      ond,
 //              ,        :     ,          ,
 //           ...           ,     
 var result = text.replace(/.(at)/g, function() {
  console.log(arguments[0] + ' ' + arguments[1] + ' ' + arguments[2]);
  return 'ond'
 });
 console.log(result);
 //   
 /*
  cat at 1 
  bat at 6 
  sat at 11 
  fat at 16 
  cond, bond, sond, fond 
 */
이상 은 replace 방법의 모든 사용 가능 한 상황 입 니 다.다음은 replace 와 정규 표현 식 을 사용 하여 문자열 trim 방법 을 공동으로 실현 합 니 다.

(function(myFrame) {
  myFrame.trim = function(str) {
   // ' hello world '
   return str.replace(/(^\s*)|(\s*$)/g, '');
  };
  window.myFrame = myFrame;
 })(window.myFrame || {});
 //   
 var str = ' hello world '
 console.log(str.length); // 15
 console.log(myFrame.trim(str).length); // 11
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기