반응형
node.js string.replace가 작동하지 않습니까?
var variableABC = "A B C";
variableABC.replace('B', 'D') //wanted output: 'A D C'
하지만 'variableABC'는 변경되지 않았습니다.
variableABC = 'ABC'
내가 'AD C'가되고 싶을 때.
Javascript 표준에 따르면 String.replace
문자열 자체를 수정해서는 안됩니다. 수정 된 문자열 만 반환합니다. 자세한 정보 는 Mozilla 개발자 네트워크 문서 를 참조하십시오.
항상 문자열을 수정 된 값으로 설정할 수 있습니다.
variableABC = variableABC.replace('B', 'D')
편집 : 위에 주어진 코드는 첫 번째 발생 만 대체하는 것입니다.
모든 발생을 바꾸려면 다음을 수행 할 수 있습니다.
variableABC = variableABC.replace(/B/g, "D");
모든 발생을 바꾸고 대소 문자를 무시하려면
variableABC = variableABC.replace(/B/gi, "D");
문자열은 항상 불변으로 모델링됩니다 (적어도 상위 수준 언어 인 python / java / javascript / Scala / Objective-C).
따라서 연결, 교체와 같은 모든 문자열 작업은 항상 의도 된 값을 포함하는 새 문자열을 반환하지만 원래 문자열은 여전히 동일합니다.
string.replace 가 소스 문자열을 수정하는 대신 값을 반환 하지 않습니까?
따라서 variableABC를 수정하려면 다음을 수행해야합니다.
var variableABC = "A B C";
variableABC = variableABC.replace('B', 'D') //output: 'A D C'
정규식을 사용하지 않고 문자열에서 하위 문자열의 모든 인스턴스를 제거하려면 다음을 사용할 수 있습니다.
var replacestring = "A B B C D"
const oldstring = "B";
const newstring = "E";
while (replacestring.indexOf(oldstring) > -1) {
replacestring = replacestring.replace(oldstring, newstring);
}
//result: "A E E C D"
참조 URL : https://stackoverflow.com/questions/21162097/node-js-string-replace-doesnt-work
반응형
'program tip' 카테고리의 다른 글
MySQL의 한 데이터베이스에서 다른 데이터베이스로 테이블 이동 (0) | 2021.01.10 |
---|---|
javax.xml.bind.UnmarshalException : 예기치 않은 요소입니다. (0) | 2021.01.10 |
momentjs를 사용하여 날짜를 epoch로 변환 한 다음 다시 날짜로 변환 (0) | 2021.01.10 |
Jquery Ajax, mvc.net 컨트롤러에서 성공 / 오류 반환 (0) | 2021.01.10 |
jquery : id에 특정 패턴이있는 요소 찾기 (0) | 2021.01.09 |