JavaScript의 replacement() 메서드가 때때로 패턴의 첫 번째 인스턴스만 바꾸는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-23 07:55:29
원래의
133명이 탐색했습니다.

Why Does JavaScript's replace() Method Sometimes Replace Only the First Instance of a Pattern?

Replace를 사용한 JavaScript의 선택적 대체 이해

JavaScript의 replacement() 메소드를 사용하여 문자열을 조작할 때 문자열만 대체하는 경우가 많다는 점을 눈치챘을 것입니다. 지정된 문자나 패턴의 첫 번째 인스턴스입니다. 특히 모든 인스턴스를 교체하려는 경우 이 동작은 혼란스러울 수 있습니다.

예:

다음 코드 조각을 고려하세요.

var date = $('#Date').val(); // "12/31/2009"
var id = 'c_' + date.replace("/", ''); // "c_1231/2009"
로그인 후 복사

알다시피, 교체에서는 / 문자의 첫 번째 인스턴스만 제거되고 두 번째 인스턴스는 변경되지 않은 상태로 유지됩니다. 이유를 이해하려면 교체() 메서드의 작동 방식을 자세히 조사해야 합니다.

RegExp 및 전역 플래그:

replace()는 정규 표현식(RegExp ) 문자열 내에서 대상 패턴을 찾습니다. 기본적으로 첫 번째 항목만 일치합니다. 모든 인스턴스를 바꾸려면 "g" 수정자를 사용하여 전역 플래그를 지정해야 합니다.

전역적으로 바꾸는 방법:

전역을 적용하는 방법에는 두 가지가 있습니다. 플래그:

  • 정규 표현식에서 g 플래그 사용:

    var id = 'c_' + date.replace(new RegExp("/", "g"), '');
    로그인 후 복사
  • replace()의 두 번째 인수로 g 플래그 사용 :

    var id = 'c_' + date.replace(/\//g, '');
    로그인 후 복사

두 메소드 모두 다음과 같이 지정된 문자 또는 패턴의 모든 인스턴스를 검색하고 바꾸도록 replacement()에 지시합니다.

var id = 'c_' + date.replace(/\//g, ''); // "c_12312009"
로그인 후 복사

위 내용은 JavaScript의 replacement() 메서드가 때때로 패턴의 첫 번째 인스턴스만 바꾸는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!