[JavaScript] 자바스크립트 문자열 메소드

자바스크립트에서 문자열을 다루는 메소드 종류

 

자바스크립트에서는 문자열을 편하게 다루게 해주기 위한 메소드들이 있다.

 

메소드 기능
length 문자열의 길이 반환
slice, substring, substr 문자열을 원하는 길이만큼 자르기
trim 공백제거
toUpperCase, toLowerCase 대/소문자 치환
padStart().padEnd() 문자열을 원하는 길이만큼 다른 문자로 채우기
'strtext'.charAt(n),  'strtext'[n] 문자열의 원하는 인덱스의 문자를 찾기
'strtext'.charCodeAt(n) 문자열의 원하는 인덱스의 문자를 유니코드로 변환
'strtext'.indexOf(ch) 문자열의 원하는 문자의 인덱스를 찾기
strtext'.includes('str') 문자열에 포함된 단어인지 확인
'strtext'.startsWith("str") 문자열의 시작 단어가 일치하는지 확인
'strtext'.endsWith('ext') 문자열 끝 단어가 일치하는지 확인

예제

var text = "Hello, Javascript!";
var fruits ="apple/banana/lemon";
var names= "홍길동,박길동,남궁민수,김철수";

변수 선언 미리 해놓고 실행


length()
console.log('length : ', text.length); // 18

문자열 길이 반환

 

slice(), substring(), substr()


1. slice, substring(start_index, end_index) 
   ->  두 메소드의 사용방법은 동일하고 시작 인덱스부터 끝 인덱스-1 까지 출력한다.
        전달한 값이 음수라면 인덱스를 뒤에서부터 계산한다. 

2. substr(start_index, n) 
   -> 시작 인덱스부터 원하는 길이만큼 출력한다 

// idx 2부터 끝까지 출력
console.log('slice: ', text.slice(2));

// idx 3부터 ~ idx 9전 까지 (3~8) 출력
console.log('slice: ' , text.slice(3,9));
console.log('substring :', text.substring(3,9));

// idx 3부터 총 9글자 될 때까지 출력
console.log('substr :', text.substr(3,9));

// idx 2부터 뒤에서부터 3번째까지 출력
console.log('slice: ', text.slice(2, -3)); 



toUpperCase(), toLowerCase()

 

console.log('toUpperCase: ', text.toUpperCase());  // HELLO, JAVASCRIPT!
console.log('toLowerCase: ', text.toLowerCase());  // hello, javascript!

대/소문자로 치환

 

trim()

 

console.log('before trim: ', '      ABCDEFG');      //      ABCDEFG
console.log('after trim: ','      ABCDEFG'.trim()); //ABCDEFG

 

 

padStart(), padEnd()

 

console.log('before padding:', 'ABCDEF'); // ABCDEF
console.log('after padding:', 'ABCDEF'.padStart(13,'#').padEnd(20,'*')); //#######ABCDEF*******

padStart(n,'ch')  -> 문자의 총길이를 n 만큼 모자란 공간은 문자열 앞에 'ch'로 채움
padEnd(n,'ch') -> 문자의 총길이를 n 만큼 모자란 공간은 문자열 뒤에 'ch'로 채움

 

 charAt()

 

console.log('ABCDEF'.charAt(3));         // D
console.log('ABCDEF'[3]);                // D
console.log('ABCDEF'.charCodeAt(3));     // 68

text.charAt(n), text[n]  -> 문자열의 n번째 idx에 해당하는 문자를 반환
text.charCodeAt(n) -> 문자열의 n번째 idex에 해당하는 문자의 코드를 반환

 

 split()

 

fruits = "apple/banana/lemon"

const fruit_arr = fruits.split('/');
console.log('fruit_arr ', fruit_arr); //[apple, banana, lemon]


text.split('ch') -> 문자열을 원하는 기준으로 잘라서 반환(한번 자르고 끝이 아니고 계속 잘라서 한번씩 반환한다.)

 

 

indexOf()

 

var text = "Hello, Javascript!  Hello, Javascript!";

console.log(text.indexOf('a'));        // 8
console.log(text.indexOf('b'));        // -1  (못찾은 경우)
console.log(text.indexOf('Java', 10)); // 27  (10 부터 찾는다)

console.log(text.lastIndexOf('a'));    // 30  (뒤에서부터 찾는다)
console.log(text.lastIndexOf('a',20)); // 뒤에서부터 idx 20 까지 찾는다.

indexOf()는 처음부터 찾고 lastIndexOf는 끝에서부터 찾는다.
일치하는 결과가 없을 경우 -1을 반환한다.

 

includes()

 

var names= "홍길동,박길동,남궁민수,김철수";

console.log('includes 홍길동 ? ', names.includes('홍길동'));  // true
console.log('includes 김길동 ? ', names.includes('김길동'));  // false


해당 문자열이 포함된 여부를 반환한다 true/false
includes('str')

 

startsWith(), endsWith()

 

var text = "Hello, Javascript!  Hello, Javascript!";

console.log('text starts with hello ?', text.startsWith("hello"));  // false
console.log('text starts with Hello ?', text.startsWith("Hello"));  // true

console.log('text ends with script! ? ', text.endsWith("script!"))  // true


해당 문자열로 시작하는지 여부를 반환한다. true/false
startsWith, endsWith('str') 

댓글

Designed by JB FACTORY