program story

JavaScript .replace는 첫 번째 일치 만 대체합니다.

inputbox 2020. 8. 5. 08:12
반응형

JavaScript .replace는 첫 번째 일치 만 대체합니다.


var textTitle = "this is a test"
var result = textTitle.replace(' ', '%20');

그러나 replace 함수는 ""의 첫 번째 인스턴스에서 중지되고

결과 : "this%20is a test"

나는 어디에서 잘못 가고 있는지에 대한 아이디어는 간단한 수정을 확신합니다.


/g다음과 같이 필요합니다 .

var textTitle = "this is a test";
var result = textTitle.replace(/ /g, '%20');

console.log(result);

당신은 여기로 재생할 수 있습니다 , 기본 .replace()동작은 첫 번째 일치를 대체하는 것입니다, 수정 (글로벌)의 모든 항목을 대체한다는 뜻입니다./g


textTitle.replace(/ /g, '%20');

첫 번째 인수에 문자열 대신 정규식을 사용하십시오.

"this is a test".replace(/ /g,'%20') // # => "this % 20is % 20a % 20test"


w3schools에서

replace () 메서드 는 하위 문자열 (또는 정규식)과 문자열 사이 의 일치를 검색 하고 일치하는 하위 문자열을 새 하위 문자열로 바꿉니다.

다음 정규 표현식을 사용하는 것이 좋습니다.

textTitle.replace(/ /g, '%20');

이를 위해 정규 표현식의 g 플래그를 사용해야합니다.

var new_string=old_string.replace( / (regex) /g,  replacement_text);

그 쉬


문자열에서 "일반"정규식이 필요한 경우에도 마찬가지입니다.

const textTitle = "this is a test";
const regEx = new RegExp(' ', "g");
const result = textTitle.replace(regEx , '%20');
console.log(result); // "this%20is%20a%20test" will be a result
    


사용해보십시오 replaceWith()또는replaceAll()

http://api.jquery.com/replaceAll/

참고 URL : https://stackoverflow.com/questions/3214886/javascript-replace-only-replaces-first-match

반응형