[JavaScript] 문자열 자르기 관련 함수
prototype.substr(start, length)
start
인덱스를 시작으로 length
개수 만큼 잘라서 새로운 문자열을 반환한다.
let string = "Hello, World!";
let newString = string.substr(2, 8);
console.log(newString); // llo, Wor
prototype.substring(indexStart, indexEnd)
indexStart
인덱스를 포함해 indexEnd - 1
인덱스까지의 문자열을 반환한다.
let string = "Hello, World!";
let newString = string.substring(2, 10);
console.log(newString); // llo, Wor
prototype.slice([begin[, end]])
begin
인덱스를 포함해 end
인덱스까지의 문자열을 반환한다.
- end 없이 begin 만 인자로 받을 수 있고, begin 조차 안받아도 된다.
- 음수 인덱스를 허용한다.
let string = "Hello, World!";
let newString = string.slice(2, 10);
console.log(newString); // llo, Wor
newString = string.slice(2, -3); // llo, Wor
console.log(newString);
Java의 StringBuffer 클래스의 replace 함수 따라하기
Javascript에는 문자열의 시작과 끝 인덱스 부분에 해당하는 문자열을 치환하는 함수가 따로 존재하지 않는다. 따라서 아래와 같이 함수를 만들어서 사용해야 한다.
function ReplaceAt(input, search, replace, start, end) {
return (
input.slice(0, start) +
input.slice(start, end + 1).replace(search, replace) +
input.slice(end + 1)
);
}
위 함수를 활용해 문자열 search 를 replace 로 바꿔보자.
let string = "Hello, World!";
let start = string.indexOf("W");
let end = string.indexOf("d");
let newString = ReplaceAt(string, "World", "Javascript", start, end);
console.log(newString); // Hello, Javascript!
댓글남기기