>  기사  >  웹 프론트엔드  >  JavaScript의 문자열 교체에 대한 기본 지식

JavaScript의 문자열 교체에 대한 기본 지식

WBOY
WBOY원래의
2016-05-16 17:37:271016검색

replace() 메서드는 문자열의 일부 문자를 다른 문자로 바꾸거나 정규식과 일치하는 하위 문자열을 바꾸는 데 사용됩니다.

구문: string.replace(subStr/reg,replaceStr/function)

첫 번째 매개변수는 문자열의 하위 문자열이거나 정규 표현식일 수 있습니다. 두 번째 매개변수는 문자열이거나 처리 방법일 수 있습니다.

코드 복사 코드는 다음과 같습니다.

document.write('1234'.replace(1, 'X'));us 결과를 얻을 수 있습니다. : >
document.write('1214'.replace(1, 'X')); 우리는 결과가 다음과 같을 것으로 예상했습니다. 는 하위 문자열이고, 교체는 첫 번째 일치만 바꾸고 검색을 중지합니다.

일반 글쓰기로 변경합니다코드 복사
코드는 다음과 같습니다.

문서 .write('1214'.replace(/1/g, 'X')); 이때 예상한 결과를 얻을 수 있습니다: X2X4

함수가 어떻게 작성되는지 살펴보겠습니다 코드 복사
코드는 다음과 같습니다.

var r = 'abcd'.replace(/w /g, 함수() {
                                                                                                         
이제 예상 결과를 볼 수 있습니다: XXXX, 모든 문자는 다음으로 대체됩니다. 코드는 다음과 같습니다.


var t = document.getElementById('t ');
String.prototype.deentityfy = function() {
varentity = {
quot: '"',
lt: '<',
          gt: '> '            };

                                                                   ~



코드 복사


코드는 다음과 같습니다.

String.prototype.deentityfy = function() {
         var 엔터티 = {
             a: 'A',
             b: 'B',
             c: 'C'
         };
         return function() {
             return this.replace(/1([^12])2/g, function(a, b) {
                for (var i = 0; i < 인수. 길이; i ) {
                    document.write(arguments[i] '
')
              }
               document.write('=========== =============
');
               var r = 엔터티[b]
               반환 유형 r === 'string' ?
             }); //교체 끝
         };
     } ();
     document.write('1a21b21c2'.deentityfy());

这样,我们把方法的参数duc打印流来,看看结果是什么
复aze代码 代码如下:

a2
a

a21b21c2
===========================
b2

 
a21b21c2
===== ======================
c2
c

a21b21c2
========== =================
ABC

很奇怪对不对,最后的<">是方法的结果,很正确,得到了预期结果,让我们看看기능적参数부분분, 每次调사용할 수 있는 방법이 없습니다.

第一个参数很简单,是匹配字符串

第四个参数则是원문符串

很神奇对不对,但是不是就是这样了呢,我们再写一个试试

复主代码

代码如下:var r = '1a21b21c2'.replace(/1w2/ g, function() {            for (var i = 0; i < 인수.길이; i ) {               document.write(arguments[i] '
');
}
            document.write('==========================
')
            'X 반환 ';
        });
        document.write(r);


와 앞 화면 보기 只是简单的把所有匹配项替换为了X,看看结果




复主代码

代码如下:a2 a21b21c2===========================
b2

a21b21c2===========================

c2

a21b21c2

============================

XXX

출처对不对,结果是预期的,但是参数少了一个,第に项参数不见了,看看究竟还有什么不同——Easy则表达式中看似多余的括号不见了,上一个例子中,第two项参数恰恰是括号内的匹配项,是不是第五个参数就是正则表达式中括号内的匹配项呢,我们把括号加回来验证一下





复主代码

代码如下:

var r = '1a21b21c2'.replace(/1(w2)/g, function() {
       for (var i = 0; i < 인수.길이; i ) {
document.write(arguments[i] '
');
                }
                                  document.write('===================== == =======
')
                                                                                         결과



코드 복사

코드는 다음과 같습니다.a2a2
a21b21c2
============================
b2
b2

a21b21c2
===========================
c2
c2

a21b21c2
============================
XXX

예상대로 이제 우리는 JavaScript 언어의 가장 간결한 예를 살펴보면 이를 이해해야 합니다. 물론, 함수의 즉각적인 실행, 클로저 및 인수 객체도 알아야 합니다. 모든 매개변수를 한 문장에 담았습니다. 단어의 첫 글자를 대문자로 쓰는 법을 아시나요?



코드 복사

코드는 다음과 같습니다.//방법은 여러가지가 있습니다. 방금 우리가 만든 이론을 검증하기 위해 일부러 이렇게 귀찮게 썼어요 var 문장 = '사랑해요'; var upper = 문장.replace(/(w)w*b/g, function (a,b) {
return b.toUpperCase() a.substring(1);
      });
                document.write(upper) 코드


코드


//실제로는 이렇게 작성해도 충분합니다
var 문장 = '사랑해요';
var upper = 문장.replace(/w b/g, function( a) {
                                                                                                           >
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.