const originalString = "안녕하세요, 자바스크립트!";
const newString = originalString.replace("자바스크립트", "JavaScript");

// 검색된 부분은 원하는 문자열로 대체되어 반환됩니다.
console.log(newString); // 출력: 안녕하세요, JavaScript!

// 원본 문자열은 변경되지 않습니다.
console.log(originalString); // 출력: "안녕하세요, 자바스크립트!"
const originalString = "제 나이는 20살입니다.";
const newString = originalString.replace(/\d+/, "**");
// \d+는 하나 이상의 숫자를 나타내는 정규 표현식

// 검색된 부분은 원하는 문자열로 대체되어 반환됩니다.
console.log(newString); // 출력: 제 나이는 **살입니다.

// 원본 문자열은 변경되지 않습니다.
console.log(originalString); // 출력: "제 나이는 20살입니다."
str.replace(searchValue, newValue);
const originalString = "안녕하세요, JavaScript!";
const newString = originalString.replace("JavaScript", function(match) {
    // match는 replace() 함수가 찾은 부분 문자열 전체
    return matched.toUpperCase();
});

console.log(newString); // 출력: "안녕하세요, JAVASCRIPT!"
function replacer(match, p1, p2, /* …, */ pN, offset, string, groups) {
    return replacement;
}
const phoneNumber = "123-456-7890";
const re = /(\d{3})-(\d{3})-(\d{4})/;
// (\d{3}): 숫자 3개에 해당하는 그룹. 괄호로 둘러싸여 있어서 이 부분은 첫 번째 그룹
// (\d{3}): 두 번째 그룹으로, 다시 3개에 해당하는 그룹
// (\d{4}): 세 번째 그룹으로, 숫자 4개에 해당

const formattedNumber = phoneNumber.replace(re, function(match, areaCode, prefix, lineNumber) {
    // match: 현재 찾아진 전체 부분 문자열 (예: 123-456-7890)
    // areaCode: 첫 번째 그룹에 해당하는 지역 코드 (예: 123)
    // prefix: 두 번째 그룹에 해당하는 접두어 (예: 456)
    // lineNumber: 세 번째 그룹에 해당하는 라인 번호 (예: 7890)
    
    return `+1 (${areaCode}) ${prefix}-${lineNumber}`;
});

console.log(formattedNumber);
// 출력: "+1 (123) 456-7890"
const email = "john.doe@example.com";
const hiddenEmail = email.replace(/(?<=.{3})[^@](?=[^@]*@)/g, "*");

console.log(hiddenEmail);
// 출력: "joh*************@example.com"
const htmlString = "<p>Hello, <strong>world</strong>!</p>";
const plainText = htmlString.replace(/<[^>]*>/g, "");

console.log(plainText);
// 출력: "Hello, world!"
const sentence = "JavaScript is fun!";
const replacedSentence = sentence.replace("JavaScript", "TypeScript");

console.log(replacedSentence);
// 출력: "TypeScript is fun!"
replace() 함수의 브라우저 호환성
메서드
데스크탑 Chrome
Chrome
데스크탑데스크탑 Edge
Edge
데스크탑 Firefox
Firefox
Safari
Safari
replace() 1 12 1 1

caniuse.com에서 더 자세한 정보를 확인해 보세요.