JS 문자열 메서드

let text = "ABCDEFGHI";

 

문자열 길이

let length = text.length; //9

문자열 부분 자르기

  • slice(start, end)
let str = text.slice(2, 5);   // CDE
let str = text.slice(2);      // CDEFGHI
let str = text.slice(-4);     // FGHI
let str = text.slice(-4, -2); // FG

 

  • substring(start, end)
let str = text.substring(2, 5);   // CDE
let str = text.substring(2);      // CDEFGHI

 

  • substr(start, length)
let str = text.substr(2, 5); // CDEFG
let str = text.substr(2);    // CDEFGHI
let str = text.substr(-4);   // FGHI

문자열 구분자로 자르기

  • split()
    • split으로 자르면 Java와 마찬가지로 배열에 담깁니다.
    • 여러 구분자를 설정하고 싶을 땐 /(슬래시) 두 개 사이에 |(구분자)를 두어 설정하면 됩니다.
let arr = text.split(",");     // 구분자 commas
let arr = text.split(/ |,/);   // 구분자 spaces, commas
let arr = text.split("");      // 한 단어씩 문자 배열에 담김

 


문자열 내용 바꾸기

  • replace("기존 문자열", "변경할 문자열");
    • 첫 번째로 일치되는 문자열만 변경됩니다.
    • 대/소문자를 구분합니다.
    • 대소문자 구분 없이 사용하려면 정규표현식을 사용하면 됩니다.
    • 일치하는 모든 문자열을 바꾸는 방법으로 replace와 정규식을 결합하여 사용하는 방법과 replaceAll을 사용하는 방법이 있습니다.
let str = text.replace("ABC", "ZZ"); // ZZDEFGHI

// 대소문자 구분없애기
let str = text.replace(/ABC/i, "ZZ");

// 일치하는 모든 문자열 바꾸기
let str = text.replace(/ABC/g, "ZZ");
str = text.replaceAll("ABC", "ZZ");

대문자, 소문자 변환

  • toUpperCase();
  • toLowerCase();

문자열 연결

str = "Hello" + " " + "World!";
str = "Hello".concat(" ", "World!");

공백 제거

  • trim(): 양쪽 공백 제거
  • trimStart(): 문자열 시작 부분 공백 제거
  • trimEnd(): 문자열 끝 부분 공백 제거

문자열 채우기

  • padStart(): 처음부터 문자열 채우기
    • 숫자를 채우기 위해선 일단 수를 문자열로 변환해주어야 합니다.
let text = "O";
let str = text.padStart(5, "X"); // XXXXO

// 숫자인 경우
let number = 7;
let text = number.toString();
let str = text.padStart(5, "X"); // XXXX7

 

  • padEnd(): 끝부터 문자열 채우기
let text = "O";
let str = text.padEnd(5, "X"); // OXXXX

문자열에서 문자 추출하기

  • charAt()
let ch = text.charAt(2); // C

해당 위치에 문자열이 없는 경우 빈 문자열을 반환합니다.

 

 

  • charCodeAt(): 문자의 유니코드를 반환합니다.
let ch = text.charCodeAt(2) // 67

 

  • [ ]를 통한 속성 접근
    • [ ]를 사용하기 때문에 배열이라고 생각하면 안됩니다.
    • 해당 위치에 문자열이 없는 경우 undefined를 반환합니다.
    • 읽기 전용입니다.
let ch = text[2]; // C

문자열의 위치 검색(찾기): indexOf() ,  lastIndexOf(), search()

  • indexOf()
    • 문자열의 시작 부분 부터 검색합니다.
    • 일치하는 문자열을 찾을 수 없으면 -1을 반환합니다.
    • 두 번째 매개변수: 검색의 시작 위치
let str = text.indexOf("DE"); // 4
let str = text.indexOf("DE", 5); // -1

 

  • lastIndexOf()
    • 문자열의 끝 부분 부터 검색합니다.
    • 일치하는 문자열을 찾을 수 없으면 -1을 반환합니다.
    • 두 번째 매개변수: 검색의 시작 위치
let str = text.lastIndexOf("DE"); // 4

 

  • search()
    • 문자열의 시작 부분 부터 검색합니다.
    • 정규식을 사용할 수 있습니다.
    • 두 번째 매개변수(검색의 시작 위치)를 사용(설정)할 수 없습니다.
text.search("DE");
text.search(/DE/g);

 


일치하는 문자열 찾기

  • match("문자열(정규식)")
    • 지정한 문자열(정규식)과 일치한 결과를 갖는 배열을 반환합니다.

문자열 포함하는지 확인

  • includes()
    • 문자열에 지정된 값이 포함되어 있으면 true
    • 두 번째 매개변수: 검색의 시작 위치

지정된 문자열로 시작하거나 끝나는지 확인

  • startsWith()
    • 문자열이 지정된 값으로 시작하는 경우 true
    • 대소문자 구분
    • 두 번째 매개변수: 검사하는 문자열
  • endsWith()
    • 문자열이 지정된 값으로 끝나는 경우 true
    • 대소문자 구분
    • 두 번째 매개변수: 검사하는 문자열
let text = "I Love You";
text.endsWith("Love", 6); // true