string.trim(): string
문자열의 양쪽 공백 제거.
문자열 양쪽 끝의 공백을 제거한 새로운 문자열을 반환. 여기서 공백은 space, tab, NBSP, 개행문자(\n).
- string.trimStart(): string
- string.trimEnd(): string
양쪽 끝의 공백제거를 주로 쓰지만, 앞과 뒤를 따로 사용할 수도 있다.
const str1 = ' Removes Whitespace from\n';
const str2 = 'both ends of a String';
console.log(str1);
console.log(str1.trim());
console.log(str1.trim() + str2);
영어 대소문자의 변환
string.toLowerCase(): string
string.toUpperCase(): string
string.repeat( count: number ): string
CSS 를 공부했을때 알게된 스타일링이 메서드에도 존재한다는것을 알 수 있다.
마찬가지로 repeat 도 반복의 의미로 grid를 할때 알게되었는데, 이와 같은 문자열 메서드도 있다는 것을 알 수 있다.
- 모든 문자열을 소문자로 변환한 새로운 문자열 반환.
- 모든 문자열을 대문자로 변환한 새로운 문자열 반환.
- 해당 문자열을 count만큼 재생한 새로운 문자열 반환.
const str1 = ' Removes Whitespace from\n';
console.log(str1.toLowerCase());
console.log(str1.toUpperCase());
console.log(str1.repeat(3));
문자열을 원하는 부분만 잘라보자.
string.substring( startIndex: number, endIndex?: number ): string
문자열.substring( 어디서, 어디까지 )
string.slice( startIndex: number, endIndex?: number ): string
문자열.slice(어디서 , 어디까지)
substring 이 구버젼 같은 느낌이라면 slice가 신버젼같은 느낌을 받았다.
역할은 같지만 , slice는 뒤에서 부터도 음수값을 통해 인덱싱 할 수 있기 떄문이다.
substring 은 시작이 큰숫자 , 끝이 작은 숫자일 경우 자동으로 치환되어 나오는 특징이 있고,
slice 는 시작이 큰숫자, 끝이 작은 숫자일 경우 빈문자열을 반환하게 되는 큰 차이를 보인다.
console.log(str2.substring(5));
console.log(str2.substring(5, 8));
console.log(str2.substring(8, 5)); //시작인덱스가 종료인덱스 보다 큰 경우이므로 내부적으로
console.log(); //다시 start가 5가 되고 end가 8이 되도록 서로 치환.
console.log(str2.slice(5, 8));
console.log(str2.slice(8, 5)); //시작인덱스가 종료인덱스 보다 큰 경우 빈 문자열 반환.
console.log(str2.slice(-6)); //뒤에서 부터 카운팅이 이루어짐.
console.log();
문자를 바꿔볼까 ?
String.replace(searchValue: string | RegExp, replaceValue: string): string
문자열.replace('문자', '문자')
찾고자하는 최조 문자열을 검색하여 내가 원하는 문자열로 치환하여 새로운 문자열을 반환한다.
반환한다고 해서 원본이 바뀌는것이 아니기 때문에 필요시에는 값을 저장해야 할 수도 있다.
제일 큰 특징은 , 최초 검색부분만 변경됨 , 검색하고 없을 경우 원본을 반환하는 특징을 알아두자.
const str3 = 'replaces the matched substring with a replacement substring.';
console.log(str3.replace('sub', 'main')); //최초검색부분만 변경.
console.log(str3);
console.log(str3.replace('middle', 'center')); // 검색후 없을경우 그냥 원본을 반환.
console.log();
문자를 내가 원하는대로 배열화 해보자.
String.split(separator: string | RegExp, limit?: number): string[]
문자열.split(기준 , 몇번째까지나올거야)
문자열.split(기준 , [그인덱스만])
기준 : '' -> 단어하나하나 / ' '-> 공백기
const str4 = 'Uses a regular expression'; //현재 모양이 공백을 기준을 쪼개져있음.
console.log(str4.split()); // 인수를 모두 생략하면 전체 문자열이 하나의 배열 요소로 반환.
//디폴트 값이 요소 하나로 추출.
console.log(str4.split('')); // 구분자를 빈 문자열로 지정하면 대상 문자열의 모든 문자들을 배열 요소들로 반환.
//문자 사이사이를 전부 문자열로 반환.
console.log(str4.split('', 4)); // 제한자 인수를 두어 반환 배열 요소들을 제한.
//쪼개는 수를 제한하겠다는 의미. 하나씩 4개만 보여짐. 뒤에것은 데이터 손실.
console.log(str4.split(' ')); //공백을 기준으로 문자열로 쪼개짐.
console.log(str4.split(' ', 2));
console.log(str4.split(' ')[2]); // 구분자를 통해 반환받은 배열을 통한 인덱싱.
문자열이 이걸로 시작하니 ? 맞니 아니니?
문자열이 이걸로 끝나니 ? 맞니 아니니 ?
문자열이 이걸 포함하니 ? 맞니 아니니 ?
->boolean 값으로 반환되어짐.
.startsWith(문자 , 숫자) / .endsWith (문자 , 숫자)
.includes(문자 , 숫자)
숫자번째부터 문자가 있는지 확인. (숫자는 생략 가능.)
const str = 'both ends of a String';
console.log(str.startsWith('both'));
console.log(str.startsWith('ends'));
console.log(str.startsWith('ends', 5));
console.log(str.endsWith('String'));
console.log(str.includes('of'));
console.log();
문자열을 출력해서 검색해보자
1.문자열[인덱스]를 통한 방법.
2.문자열.CharAt(인덱스)를 통한 방법.
1.문자열[인덱스]를 통한 방법 : 나오지 않으면 undefined 반환
2.문자열.CharAt(인덱스)를 통한 방법 : 나오지 않으면 빈문자열 반환
const str = 'both ends of a String';
console.log(str[50]);
console.log(str.charAt(50));
문자열의 인덱스 번호 검색
문자열.indexOf(’검색문자’, 어디서부터(상수))
문자열.lastindexOf(’검색문자’) - 역순검색.
-직접적으로 출력해서 확인하는 방법.
const str = 'both ends of a String';
console.log(str.indexOf('t'));
console.log(str.indexOf('t', 5));
console.log(str.lastIndexOf('t'));
-반복문을 통해서 확인 하는 방법 . -> 주로 이방법을 쓰게되지 않을까?
for (let ix = 0, findIx; ;) {
findIx = str.indexOf('t', ix);
if (findIx == -1) break; // 없으면 오류값으로 -1로 반환
console.log(findIx);
ix = findIx + 1;
}
단 , 연산 우선이 대입 연산자(=) 보다 비교연산자(!=)의 우선순위가 높아
대입연산자를 우선해야함.
그렇지 않을 경우 비교연산이 우선 적용되어 검색되는 값이 존재하지 않으면,
대입되지 않고 무한루프에 빠질 수 있다.
문자열의 아스키 코드화
아스키 코드의 문자열화 , 주로 사용하지 않아 간단히 표기하겠다.
console.log('A'.codePointAt()); //미 지정시 디폴트 0.
console.log('ABC'.codePointAt(인덱스번호)) → 문자열의 아스키 코드화
console.log(String.fromCharCode(65));
console.log(String.fromCharCode(97, 98)); →아스키코드의 문자열화.
'Developer > 자바스크립트' 카테고리의 다른 글
자바스크립트 DOM 이란 ? document object model (0) | 2024.06.03 |
---|---|
자바스크립트, 변수와 함수,엄격모드, 자료표현양식 (0) | 2024.05.31 |
자바스크립트 , 문자열 관련 배열 / for..of / forEach , ...사용 / 구조분해할당 / toString, delete, value 메서드 (0) | 2024.05.30 |
예제로 만나보는 자바스크립트 (0) | 2024.05.30 |
자바스크립트 가볍게 알아보는 == 와 === / 값의 부정평가(!) (0) | 2024.05.16 |