본문 바로가기
공부/JavaScript

문자열 자르기

by svcbn 2024. 9. 9.

08/05

 

Slice()

str.slice(start, end?): string;

slice 는 문자열의 일부를 추출하여 새로운 문자열로 반환한다. 원본 문자열은 수정하지 않음.

  • end인 index는 exclude 된다. String[start] ~ [end - 1] 까지 반환.
  • start >= String.length 면 빈 문자열이 반환된다.
  • start < 0 이면 문자열의 끝부터 index를 센다. max(start + String.length, 0) 에서 시작하는 셈.
  • 마찬가지로 end < 0 이면 문자열의 끝부터 index를 센다.
  • start 가 생략되거나, 정의되지 않거나, number로 변환할 수 없다면, 0으로 처리됨.
  • end <= start 인 경우 빈 문자열이 반환된다.

 

 

Substring()

str.substring(start[, end]): string;

substring 은 문자열의 시작 index부터 종료 index 전 까지 문자열의 부분 문자열을 반환한다.

  • end가 생략된 경우, 문자열의 끝까지 모든 문자를 추출한다.
  • start = end 인 경우, 빈 문자열을 반환.
  • param < 0 인 경우 0으로, param > String.length 인 경우 length 로 처리된다. Nan은 0으로 처리된다.
  • start > end 인 경우, 두 인자를 바꾼것 처럼 작동한다.
let text = "JavaScript";

console.log(text.substring(5,2));	// => "vaS"
console.log(text.slice(5,2));		// => ""

 

 

Split()

str.split(separator?, limit?): string[];

split은 문자열을 지정한 구분자를 이용해 여러 개의 문자열로 나눈다.

  • separator
    원본 문자열을 끊어야 할 부분을 나타내는 문자열로, 실제 문자열이나 정규표현식을 받을 수 있다.
    두 글자 이상일 경우, 부분 문자열 전체가 일치해야 한다.
    생략되거나 원본 문자열에 등장하지 않을 경우, 원본 문자열을 유일한 원소로 가진다.
  • limit
    끊어진 문자열의 최대 개수를 나타내며, 배열의 원소가 limit 개가 되면 멈춘다.
    남은 문자열은 새로운 배열에 포함되지 않는다.
  • separator 마다 끊은 부분 문자열을 담은 array 로 반환된다.

 

 

Splice()

Arr.splice(start[, deleteCount[, item1[, item2[, ...]]]]): [];

splice는 배열의 method이긴 하지만, string에 사용하면 string[]처럼 사용되기 때문에 문자열 변환에도 사용할 수 있다.

  • start
    변경을 시작할 index.
    start > arr.length 인 경우, start = length 로 설정된다.
    start < 0 인 경우, 끝에서부터 index를 센다.
    |start| > arr.length 인 경우, start = 0 으로 설정된다.
  • deleteCount
    배열에서 제거할 요소의 수.
    deleteCount > arr.length - start 이거나, 생략하면, start 부터의 모든 요소를 제거한다.
    deleteCount <= 0 인 경우, 어떤 요소도 제거하지 않는다. 이 경우 최소 하나의 새로운 item을 지정해야 함.
  • item1, item2, ...
    배열에 추가할 요소.
    아무 요소도 지정하지 않으면, splice는 요소를 제거하기만 한다.

'공부 > JavaScript' 카테고리의 다른 글

ECMAScript (ES)  (0) 2024.09.23
Callback, Promise, Async, Await  (0) 2024.09.09
Array Sort(), Filter()  (1) 2024.09.08
변수, 문자열  (0) 2024.08.27
배열 활용 method  (0) 2024.08.27