반응형
대체를 사용할 때 자바스크립트가 첫 번째 인스턴스만 대체하는 이유는 무엇입니까?
나는 이것을 가지고 있다.
var date = $('#Date').val();
이것은 텍스트 상자에서 이렇게 보이는 값을 가져옵니다.
12/31/2009
이제 내가 이걸 합니다.
var id = 'c_' + date.replace("/", '');
그리고 그 결과는
c_1231/2009
마지막 '/'가 그립습니다. 왜 그런지는 모르겠지만요.
글로벌하게 바꿀 g 플래그를 설정해야 합니다.
date.replace(new RegExp("/", "g"), '')
// or
date.replace(/\//g, '')
그렇지 않으면 첫 번째 항목만 바뀝니다.
C#/과는 다릅니다.NET 클래스 라이브러리(그리고 대부분의 다른 합리적인 언어), 당신이 합격할 때.String
의 string-to-match 인수로서string.replace
메소드, 그것은 문자열 교체를 하지 않습니다.문자열을 다음으로 변환합니다.RegExp
정규식 대체를 수행합니다.검보가 설명하듯이, 정규식 대체는 다음을 필요로 합니다.g
기본적으로 설정되어 있지 않은 글로벌 플래그로, 한 번에 모든 일치 항목을 바꿉니다.
예를 들어 match-string이 동적이고 regexen에 특별한 의미가 있는 문자를 포함할 수 있기 때문에 실제 문자열 기반 바꾸기를 원하는 경우 자바스크립트 관용구는 다음과 같습니다.
var id= 'c_'+date.split('/').join('');
사용할 수 있는 항목:
String.prototype.replaceAll = function(search, replace) {
if (replace === undefined) {
return this.toString();
}
return this.split(search).join(replace);
}
언급URL : https://stackoverflow.com/questions/1967119/why-does-javascript-replace-only-first-instance-when-using-replace
반응형
'programing' 카테고리의 다른 글
numpy.numelta64 값에서 일 수 추출 (0) | 2023.08.09 |
---|---|
Excel에서 Google 스프레드쉬트 쿼리() 재생성 (0) | 2023.08.09 |
점 표시기가 있는 Android View 호출기를 만드는 방법은 무엇입니까? (0) | 2023.08.09 |
도커 파일 복사 보관 하위 디렉터리 구조 (0) | 2023.08.09 |
*.ipa 파일을 빌드하는 데 사용된 프로필을 확인하는 방법은 무엇입니까? (0) | 2023.08.09 |