Study/JavaScript

[JavaScript_study] 문자열 메소드(String methods)

갈푸라떼 2022. 3. 23. 01:08

* str.indexOf(text)

(주의) 찾는 문자가 여러개여도 첫번째 문자만 반환한다.

 

let desc = "Hi guys. Nice to meet you.";

desc.indexOf('to'); // 14
desc.indexOf('man'); // -1 // 찾는 문자가 없으면 -1을 반환한다.

// -1보다 크다는 조건을 넣지않으면 Hi의 index가 0이므로 if에서 0은 false이므로
// 아래의 console은 작동하지 않는다.
if(desc.indexOf("Hi") > -1) {
  console.log("Hi가 포함된 문장입니다.")
}

* str.slice(n, m) 

// n : 시작점

// m : 1. 없으면 문자역 끝까지 2. 양수면 그 숫자까지(포함하지 않음) 3. 음수면 끝에서부터 셈

 

let desc = "abcdefg";

desc.slice(2) // "cdefg"
desc.slice(0, 5) // "abcde"
desc.slice(2, -2) // "cde"

 

 * str.substring(n, m)

// n 과 m 사이 문자열 반환

// n 과 m 을 바꿔도 동작함

// 음수는 0으로 인식

 

let desc = "abcdefg";

desc.substring(2, 5); // "cde"
desc.substring(5, 2); // "cde"

 

* str.substr(n, m)

// n부터 시작

// m개를 가져옴

 

let desc = "abcdefg";

desc.substr(2,4) // "cdef"
desc.substr(-4,2) // "de"

 

* str.trim() : 앞 뒤 공백 제거

let desc = " coding       ";

desc.trim(); // "coding"

 

* str.repeat(n) : n번 반복

let hello = "hello!";

hello.repeat(3); // "hello!hello!hello!"

 

* 문자열 실용적인 예시 코드

let list = [
  "01. 들어가며",
  "02. JS의 역사",
  "03. 자료형",
  "04. 함수",
  "05. 배열",
];

let newList = [];

for(let i=0; i<list.length; i++) {
  newList.push(list[i].slice(4));
}

console.log(newList);
// ['들어가며', 'JS의 역사', '자료형', '함수', '배열']

 

// 금칙어 : 콜라

function check(str) {
  if(str.indexOf("콜라") > -1){
    console.log("금칙어가 있습니다.");
  } else {
    console.log("통과")
  }
}

check("사이다 마시고 싶다") // -1 통과
check("콜라 마시고 싶다") // 0 금칙어가 있습니다.
check("오늘은 콜라 마시고 싶다") // 1 금칙어가 있습니다.

 

 

// 금칙어 : 콜라
// includes
// 문자가 있으면 true
// 없으면 false 반환

function check(str) {
  if(str.includes("콜라")){
    console.log("금칙어가 있습니다.");
  } else {
    console.log("통과")
  }
}

check("사이다 마시고 싶다") // 통과
check("콜라 마시고 싶다") // 금칙어가 있습니다.
check("오늘은 콜라 마시고 싶다") // 금칙어가 있습니다.