문자열 관련 기초 메서드

Jisoo Shin·2025년 2월 8일

repeat()

  • 주어진 숫자만큼 반복
str = "abc";
n = 2;
console.log(str.repeat(n)) // abcabc 가 출력

대소문자 변환

  • toLowerCase() : 다 소문자로 변환
  • toUpperCase() : 다 대문자로 변환
  • 대소문자 서로 바꾸기
    • 배열을 순회하면서, 값들을 변경하면 됨
    • 기존 함수 index에 해당 되는 값을 변경시키고 join 쓰거나
    • 또는, 배열을 새로 생성하고 push 함수 사용
const str = "AAABBBcccddd"
let arr = []; // 결과를 담을 빈 배열 생성

for (let i = 0; i < str.length; i++) { // 각 문자를 순회하면 확인
	if (str[i] === str[i].toUpperCase()) { // 해당 글자가 대문자면
		arr.push(str[i].toLowerCase()); // 소문자로 바꾸어서 넣고
	} else { // 대문자가 아니라면, 소문자라면
		arr.push(str[i].toUpperCase()); // 대문자로 바꾸어서 넣기
	}
}

arr.join(""); // join 메서드로 배열을 문자열로 만들어주면 끝!

Number(), ParseInt(), ParseFloat()

1. Number() 함수

  • 문자열의 를 숫자로 변환
  • 인수 형변환이 불가능하다면 NaN 리턴
//숫자로만 이루어진 문자열 n_str이 주어질 때, n_str을 정수로 변환하여 return하도록 solution 함수를 완성해주세요.

function solution(n_str) {
    return Number(n_str);
}
Number('123') // 123
Number('+123') // 123
Number('1.23') // 1.23
Number('-1.23') // -1.23
Number('08') //8  -> ECMAScript 5 에서는 0으로 시작하는 string을 8진법으로 보지 않는다

Number(null) // 0
Number('') // 0

Number('1000won') // NaN (문자열에 수가 아닌게 있으니까)
Number('foo') // NaN

❗️ Number()와 다르게 parseInt(), parseFloat()는 일반 문자를 무시하고 숫자만 반환한다.

2. parseInt()

  • 문자열 인자(숫자 + 문자)를 받음
  • parse(해부)해서 int형 이나 NaN를 반환
parseInt('08') // 8   
parseInt('-421') // -421
parseInt('+421') // 421
parseInt('421') // 421

parseInt('21000won') // 21000

parseInt('2.34') // 2

parseInt(null) // NaN

3. parseFloat()

  • 문자열 인자(숫자 + 문자)를 받음
  • parse(해부)해서 float형까지 반환
let won = '1000won'

console.log(Number(won)); // NaN
console.log(parseInt(won)); // 1000
console.log(parseFloat(won)); // 1000

❗️ parseInt()과 다르게, parseFloat()는 소주점 자리까지도 반환한다.


문자열 뒤집기

  • reverse()를 사용하지만, 문자열을 배열로 바꾼다음에 사용해야함!
    • ∵ reverse 함수는 배열에서만 사용 가능하기 때문!!!!

정리하자면, 문자열을 뒤집기 위해서는 (1) 문자열을 배열로 변환 → (2) reverse( ) 메서드로 배열 요소들 거꾸로 뒤집기 → (3) 거꾸로 뒤집힌 배열 다시 하나의 문자열로 합치기


replceAll()

  • 특정 문자를 문자열에서 다른 특정 문자로 다 변경가능한 매소드
const paragraph = "I think Ruth's dog is cuter than your dog!";

console.log(paragraph.replaceAll("dog", "monkey"));
// Expected output: "I think Ruth's monkey is cuter than your monkey!"

정규식 사용하기

.match() 일치하는 것만 반환

// 문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성

const solution = (my_string) => {
    const result = my_string.match(/[0-9]/g);
    
    return result.reduce((acc, currentValue) => {
        return acc += Number(currentValue);
    }, 0);
}

0개의 댓글