[JavaScript] 문자열 자르기 관련 함수

최대 1 분 소요

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)
  );
}


위 함수를 활용해 문자열 searchreplace 로 바꿔보자.

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!

카테고리:

업데이트:

댓글남기기