> 웹 프론트엔드 > JS 튜토리얼 > 내 JavaScript `replace()` 메서드가 내 문자열을 변경하지 않는 이유는 무엇입니까?

내 JavaScript `replace()` 메서드가 내 문자열을 변경하지 않는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-31 16:04:17
원래의
541명이 탐색했습니다.

Why Doesn't My JavaScript `replace()` Method Change My String?

문자열의 replacement() 메서드 이해

프로그래밍에서 replacement() 메서드를 사용하면 특정 부분 문자열을 다른 문자열로 바꿀 수 있습니다. 주어진 문자열. 최근 사용자가 둥근 따옴표와 등록 기호를 일반 문자로 바꾸려고 할 때 문제가 발생했습니다.

사용자는 다음 코드를 사용했습니다.

str.replace(/[“”]/g, '"');
str.replace(/[‘’]/g, "'");
로그인 후 복사

그러나 이 코드는 생성에 실패했습니다. 원하는 결과. 이는 JavaScript에서 문자열이 불변이기 때문입니다. replacement() 메소드는 원래 문자열을 변경하지 않고 새 문자열을 생성합니다.

해결책:

스마트 따옴표와 기호를 올바르게 바꾸려면 코드를 수정해야 합니다. 다음과 같습니다:

str = str.replace(/[“”]/g, '"');
str = str.replace(/[‘’]/g, "'");
로그인 후 복사

또는 단일 문으로 동일한 결과를 얻을 수 있습니다. 결과:

str = str.replace(/[“”]/g, '"').replace(/[‘’]/g,"'");
로그인 후 복사

새 문자열을 원래 변수에 다시 할당하면 원래 문자열을 수정된 문자열로 효과적으로 덮어쓰게 됩니다.

추가 참고 사항:

코드는 문자에 대해 UTF-16 인코딩을 가정한다는 점에 유의하는 것이 중요합니다. 문자열에 Basic Multilingual Plane(큰 따옴표 및 등록 기호 포함) 이외의 문자가 포함되어 있는 경우 올바른 일치를 위해 유니코드 플래그(u)를 지정해야 할 수 있습니다.

위 내용은 내 JavaScript `replace()` 메서드가 내 문자열을 변경하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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