charAt() 메서드는 문자열에서 특정 인덱스에 위치하는 유니코드 단일문자를 반환합니다.
😲여기서 유니코드는 국제/다언어 문자 인코딩 시스템으로 국제 표준 문자표라고 보시면 됩니다.
let str = "oh~ hi";
console.log(str.charAt(0));
console.log(str.charAt(1));
console.log(str.charAt(2));
console.log(str.charAt(3));
//result
//o
//h
//~
// 띄어쓰기도 출력
문자열.charAt(index)로 사용하고 띄어쓰기도 문자로 포함하여 출력됩니다!
indexOf() 메서드는 호출한 string객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환합니다.
일치하는 값이 없으면 -1을 반환합니다
let str = 'Who are you?';
console.log(str.indexOf('Who')); // result: 0
console.log(str.indexOf('who')); //result: -1
console.log(str.indexOf('are')); //result: 4
console.log(str.indexOf('Who', 0)); //result: 0
console.log(str.indexOf('Who', 5)); //result: -1
console.log(str.indexOf('you', 5)); //result: 8
문자열.indexOf('찾는 문자')혹은 문자열.indexOf('찾는 문자', index) 로 사용
여기서 index는 문자열을 찾기 시작하는 인덱스 위치입니다.
그리고 대소문자를 구별합니다. 위에 who를 보시면 Who가 아니기때문에 -1인 것을 볼 수 있습니다.
str.indexOf('Who', 5) 도 5번째 index부터 시작했기 때문에 -1이 나옵니다.
str.includes() 메서드는 하나의 문자열이 다른 문자열에 포함되어 있는지 확인한 후 true 혹은 false를 반환합니다.
let str = 'Who are you?';
console.log(str.includes('Who')); //result: true
console.log(str.includes('ar')); //result: true
console.log(str.includes('y')); //result: true
console.log(str.includes('b')); //result: false
문자열.includes('찾는 문자열') 혹은 문자열.indexOf('찾는 문자', index) 로 사용
indexOf와 같은 역할을 하는데 여기서 다른 점은 indexOf는 그 문자가 있는 첫번째 index위치를 반환한다면
includes 메서드는 true와 false로 반환한다는 점입니다.
str.substr( ) 메서드는 문자열에서 특정 위치에서 시작하여 특정 문자 수 만큼의 문자들을 반환합니다.
let str = 'hi nice to meet you';
console.log(str.substr(0, 2)); //hi
console.log(str.substr(3, 7)); //nice to
문자열.substr(시작index, length) 로 사용합니다.
시작 index위치부터 length(총 숫자) 까지의 문자열을 반환합니다.
length가 생략되면 시작index부터 끝까지 출력하고 length가 0일 경우 빈 문자열이 출력됩니다.
str.repeat( )메서드는 문자열을 주어진 횟수만큼 반복하여 새로운 문자열을 만드는 메서드입니다.
let str = 'hi~';
console.log(str.repeat(2));
console.log('hello'.repeat(2));
console.log(str.repeat(2.5));
console.log(str);
//result
//hi~hi~
//hellohello
//hi~hi~
//hi~
문자열.repeat(count)로 사용하고 count만큼 반복하는데 이 count는 정수여만 합니다.
여기서 새로운 문자열을 만들기 때문에 원래 문자열은 바뀌지 않습니다.
str.replace( ) 메서드는 문자열에 들어있는 특정 문자열를 다른 문자열로 바꿔주는 메서드입니다.
특정 문자열은 직접 입력하거나 정규표현식으로 작성 가능합니다.
let str = '나는 🍔을 먹는다 🍔은 맛있다';
let pizza = str.replace('🍔', '🍕');
console.log(pizza); //나는 🍕을 먹는다 🍔은 맛있다
console.log(str); //나는 🍔을 먹는다 🍔은 맛있다
let pizzaAll = str.replace(/🍔/gi, '🍕');
console.log(pizzaAll);
문자열.replace(문자열에서 바꿀 문자, 바꿀 문자)로 사용하고 원래의 문자열은 유지됩니다.
그러므로 새로운 문자열이 저장될 변수를 지정해 주어야 합니다.
또한 string으로 지정하면 가장 앞에 있는 문자열만 바뀝니다.
하지만 정규 표현식을 이용하면 해당하는 문자열을 다 바꿀 수 있습니다.
🧐 정규 표현식은 나중에 다룰 예정이지만 여기서 사용된 정규식에 대해서 살짝 설명드리겠습니다.
/ /는 정규식의 시작과 끝을 나타내고
g 는 global이라는 뜻으로 전체를 나타냅니다.
i 는 ignore로 영문 대소문자를 무시하고 모두 일치하는 패턴을 검색한다는 것을 뜻합니다.
str.slice( ) 메서드는 문자열의 일부를 추출하여 새로운 문자열을 반환합니다.
let str = '나는 고기를 먹는다 고기는 맛있다';
let str2 = '맛있다'
let eat = str.slice(0, 10);
console.log(eat); //나는 고기를 먹는다
console.log(str); //나는 고기를 먹는다 고기는 맛있다
let back = str2.slice(0, -1); // 맛있
console.log(back);
str.slice(startIndex, endIndex) 로 사용하고 원래의 문자열은 유지됩니다.
startIndex = 처음 시작할 index위치
endIndex = 마지막으로 반환될 index의 위치의 직전 => endIndex - 1 까지 출력됩니다.
또한 Index가 음수일 경우 끝에서부터 찾습니다.
ex) str.slice( -3, -1) -> result: 맛있 -3앞에서부터 시작해서 -1까지 출력됩니다.
str.split( ) 메서드는 특정 문자를 기준으로 문자열을 나눠 배열로 정렬합니다.
let str = '1-2-3-4-5';
let str2 = '1 2 3 4 5'
let minus = str.split('-');
console.log(minus); //[ '1', '2', '3', '4', '5' ]
console.log(str2.split(' ')); //[ '1', '2', '3', '4', '5' ]
str.split('기준 문자열')로 사용하며 원래의 문자열은 유지됩니다.
기준 문자로 사용한 문자는 없어지고 나머지 문자들이 배열로 입력됩니다.
띄어쓰기도 가능하며 빈 문자열을 기준 문자열로 하면 문자열 그대로 배열에 입력됩니다.
str.toLowerCase( ) 메서드는 문자열을 모두 소문자로 바꿔줍니다.
원래의 문자열은 그대로 유지됩니다.
str.toUpperCase( ) 메서드는 문자열을 모두 대문자로 바꿔줍니다.
원래의 문자열은 그대로 유지됩니다.
이상으로 문자열에 대한 메서드에 대해서 정리해보았습니다.
부족하지만 봐주셔서 감사합니다! 🙏🙏