[Javascript] 특정 위치 문자 치환, 3가지 방법
April 13, 2024
문자열에서 특정 Index의 문자를 다른 문자로 변경하는 방법에 대해서 알아보겠습니다.
1. substring()으로 특정 위치 문자 변경
substring(start, end)은 문자열에서 start Index를 포함하고 end Index를 포함하지 않는 범위의 문자열을 잘라서 리턴합니다.
이것을 이용하여, 아래와 같이 특정 Index의 문자만 제외하고 두개의 문자열로 분리하고, 다른 문자를 포함하여 두개의 문자열을 연결합니다. 그럼 특정 Index의 문자를 다른 문자로 교체할 수 있습니다.
let string = "Hello World";
let indexToReplace = 7; // 변경할 문자의 인덱스
let replacementChar = 'X'; // 변경할 문자
let newString = string.substring(0, indexToReplace) + replacementChar + string.substring(indexToReplace + 1);
console.log(newString);
Output:
Hello WXrld
2. 배열을 이용하여 특정 위치 문자 변경
문자열을 배열로 변경하고, 특정 Index의 문자를 다른 문자로 변경할 수 있습니다. 그 이후에 문자열 배열을 join()
을 이용하여 하나의 문자열로 연결할 수 있습니다.
charArray.join('')
: charArray의 요소들을 하나의 문자열로 연결하며, 각 문자 사이에''
문자를 추가 (즉, 아무 문자도 추가하지 않고 단순히 연결함)
let string = "Hello World";
let indexToReplace = 7; // 변경할 문자의 인덱스
let replacementChar = "X"; // 변경할 문자
let charArray = string.split('');
charArray[indexToReplace] = replacementChar;
let newString = charArray.join('');
console.log(newString);
Output:
Hello WXrld
3. 정규표현식으로 특정 위치 문자 변경
다음과 같이 replace()
와 정규표현식으로 특정 Index의 문자를 찾을 수 있고, 그 문자를 다른 문자로 변경할 수 있습니다.
let string = "Hello World";
let indexToReplace = 7; // 변경할 문자의 인덱스
let replacementChar = "X"; // 변경할 문자
let newString = string.replace(new RegExp(`^(.{${indexToReplace}}).`), `$1${replacementChar}`);
console.log(newString);
Output:
Hello WXrld