JS 문자열 메소드 정리!!
문자열 양 끝의 공백 없애기(trim)
- String 내장 객체의 trim 메소드는 문자열 양 끝의 공백, 탭, 줄바꿈을 제거합니다.
1
2
3
| let aaa = ' Hello world! ';
console.log(greeting.trim());
--> 실행 결과 "Hello world!"
|
문자열 자르기(slice)
- String 내장 객체의 slice 메소드는 인자로 시작 지점의 인덱스와 종료 지점의 인덱스를 받습니다. 두 번째 인자인 종료 지점 인덱스는 선택 사항입니다.
1
2
3
4
5
6
| let aaa = "too fast to live too young to die"
console.log(aaa.slice(13)) --> 실행 결과 'ive too young to die'
console.log(aaa.slice(13, 24)) --> 실행 결과 'ive too you'
console.log(aaa.slice(0, -24)) --> 실행 결과 'too fast '
console.log(aaa.slice(-1)) --> 실행 결과 'e'
|
3 번째 줄 코드 설명
- 첫 번째 인자를 넣어 시작 인덱스를 지정합니다. 종료 인덱스를 지정하지 않았기 때문에 변수 aaa의 13번째 인덱스 부터 마지막 까지의 문자열을 반환합니다.
4 번째 줄 코드 설명
- 시작 인덱스 13, 종료 인덱스 24로 지정합니다. 인덱스가 13부터 24까지의 문자열을 반환합니다.
5 번째 줄 코드 설명
- slice 메소드는 음수도 가능합니다. 음수는 문자열의 뒤에서부터 시작하여 인덱스를 셈하게 됩니다. 인덱스 0은 첫 번째 문자를 의미하고, 인덱스 -24는 뒤에서부터 24번째 문자를 의미합니다.
문자열 자르기(substring)
- slice 메소드와 마찬가지로 시작인덱스와 종료인덱스를 가지고 있습니다. slice 메소드와 동일하게 수행하지만 몇 가지 부분에서 다른 결과 값을 반환합니다.
1
2
3
4
5
6
| let aaa = "too fast to live too young to die"
console.log(aaa.substring(13)) --> 실행 결과 'ive too young to die'
console.log(aaa.substring(13, 24)) --> 실행 결과 'ive too you'
console.log(aaa.substring(24, 13)) --> 실행 결과 'ive too you'
console.log(aaa.substring(0, -24)) --> 실행 결과 ''
|
3 번째 줄 코드 설명
- slice 와 마찬가지로 동일한 결과 값을 볼 수 있습니다. 두 번째 인자 없이 사용이 가능하며 aaa의 13번째 인덱스 부터 마지막까지의 문자열을 반환합니다.
4 번째 줄 코드 설명
- 시작 인덱스는 13, 종료 인덱스로 24로 지정합니다. 따라서 slice와 마찬가지로 13부터 24까지의 문자열을 반환합니다.
4 번째 줄 코드 설명
- 첫 번째 인자값이 종료 인덱스보다 크다면 두 개의 인수를 교환하여 수행합니다. 따라서 4번째 결과 값과 동일하게 나옵니다.
5 번째 줄 코드 설명
- substring 메소드는 음수를 넣으면 정상적으로 수행하지 않습니다.
문자열 길이 구하기(length)
- length를 통해 문자열의 길이를 구할 수 있습니다.
1
2
| let aaa = "too fast to live too young to die"
console.log(aaa.length) <-- 33
|
문자열로 변환하기(String)
- String 함수는 주어진 인자를 문자열로 변환하거나 new 키워드와 함께 새로운 문자열 객체의 생성자가 될 수도 있습니다.
1
2
3
4
5
6
| let aaa = 25;
console.log(String(aaa)) <-- 25
let bbb = new String(400);
console.log(bbb) <-- String {"400"}
console.log(typeof(bbb)) <-- object
|
문자열로 변환하기(toString)
- toString 함수는 숫자 또는 문자열의 메소드로 사용할 수 있습니다.
- 숫자의 메소드로 사용할 경우 인자로 2 ~ 36 사이의 값을 대입하면 해당 진수로 변환 한 문자열을 얻을 수 있습니다.
1
2
3
4
| let aaa = 25
console.log(aaa.toString()) <-- "25";
console.log(aaa.toString(2)) <-- "11001"
|
두개의 문자열 하나로 합치기
- String 내장객체 메소드 중에서 문자열을 합치는 concat을 알아봅시다.
1
2
3
4
| let str1 = "HELLO"
let str2 = " JAVA SCRIPT"
console.log(str1.concat(str2)) <- "HELLO JAVA SCRIPT"
|
특정 위치의 문자 반환하기(charAt)
- charAt()은 숫자형 인자를 받습니다. 괄호 안에 대입된 값은 문자열에서 인덱스를 가리키고 해당 위치의 문자를 반환합니다.
1
2
3
4
5
6
| let aaa = "too fast to live too young to die"
console.log(aaa.charAt(0)) <-- "t"
console.log(aaa.charAt(5)) <-- "a"
console.log(aaa.charAt(14)) <-- "v"
console.log(aaa.charAt(550)) <-- ""
|
3 ~ 5 번째 줄 코드 설명
인덱스 0, 5, 14의 문자를 반환 합니다 각각 알파벳 t, a, v가 반환되어 출력됩니다.
6 번째 줄 코드 설명
인덱스 550이 가르키는 위치는 유효하지 않으므로 빈 값이 출력이 됩니다.
문자열을 특정 구분자에 의해 배열로 나누기(split)
- String 내장객체의 메소드 split은 문자열을 배열로 변환하여 반환합니다. 이때 split 인자로 받은 구분자로 문자열을 분리한 후,각각을 배열 요소에 넣습니다.
1
2
3
4
5
| let aaa = "JAVA"
aaa.split() <--[ 'JAVA SCRIPT' ]
aaa.split('') <-- [ 'J', 'A', 'V', 'A'...... ]
aaa.split(' ') <-- [ 'JAVA', 'SCRIPT' ]
|
특정 문자열 위치 확인하기-1(indexOf)
- indexOf를 활용하면 문자열에서 특정 문자열이 있는지 확인 할 수 있습니다.
1
2
3
4
5
| let aaa = "Que Sera sera"
console.log(aaa.indexOf('e')); <-- 2
console.log(aaa.indexOf('S')); <-- 4
console.log(aaa.indexOf('b')); <-- -1
|
- indexOf는 특정 문자와 일치하는 ‘첫 번째’ 인덱스 값을 반환 합니다.
- indexOf는 대소문자를 구별 합니다. 일치하는 경우가 없을 땐 -1을 리턴합니다.
- 문자열 단위로도 일치 여부를 확인합니다. 이때에도 일치하는 가장 ‘첫 번째’ 인덱스 값을 반환합니다.
특정 문자열 위치 확인하기-2(lastIndexOf)
- indexOf와 달리 lastIndexOf 메소드는 문자열의 뒤에서 일치여부를 확인합니다.
1
2
3
4
5
| let aaa = "Que Sera sera"
console.log(aaa.lastIndexOf('e')); <-- 10
console.log(aaa.lastIndexOf('S')); <-- 4
console.log(aaa.lastIndexOf('b')); <-- -1
|
- 문자열의 뒤에서 동일한 ‘첫 번째’ 인덱스 값을 반환합니다.
- lastIndexOf 대소문자를 구별하며 일치하는 문자가 없을 때는 -1를 리턴합니다.
- 문자열 단위로도 일치 여부를 확인합니다. 이때에도 일치하는 가장 ‘첫 번째’ 인덱스 값을 반환합니다.
특정 문자열 포함 여부 확인하기
- inclues는 일치하는 문자열이 있는 경우 true, 없으면 false를 반환 합니다.
1
2
3
4
| let aaa = "I'm not chic, I could never be chic."
console.log(aaa.includes('chic')); <-- true
console.log(aaa.includes('not',7)); <-- false
|
- chic와 일치하는 문자열이 확인되면 true를 반환합니다.
- 두 번째 인자에 숫자 7을 대입합니다. 인덱스 7부터 ‘not’과 일치하는 문자열이 있으면 true, 없으면 false를 반환 합니다.
문자열 대소문자 변환하기(toLowerCase, toUpperCase)
- String 내장객체의 메소드 toLowerCase, toUpperCase를 사용하면 문자열의 대소문자를 일괄로 변환 할 수 있습니다.
1
2
3
4
5
| let aaa = "hello"
let bbb = "JAVASCRIPT"
console.log(aaa.toUpperCase()) <-- "HELLO"
console.log(bbb.toLowerCase()) <-- "javascript"
|