문자열에 포함된 특정 문자 수 세기

문자열에 포함된 특정 문자 수 세기

Javascript로 어떠한 문자열에 몇 개의 특정 문자가 포함되었는지 확인하는 방법에 대해 배워보았습니다.

제가 먼저 생각해 낸 방법은 for문으로 문자열에서 특수 문자를 찾을때마다 1씩 카운팅 하는 방법이였습니다.

문자열

var output = countCharacter('I am a hacker', 'a');

함수

function countCharacter(str, char) {
  var num = 0;
  for (let i = 0; i < str.length; i++) {
    if (str[i] === char) {
      num++;
    }
  }
  return num;
}
console.log(output); // --> 3

좀 더 간결한 방법이 있을 것 같아, stackoverflow에서 아래와 같은 방법을 확인할 수 있었습니다.

  1. Split Method 사용하기
function countCharacter(str, char) {
  return str.split(char).length - 1;
}
console.log(output); // --> 3

str.split(char) => char 문자를 기준으로 나누어진 요소를 취하는 배열을 반환합니다. length 속성 -1로, 특정 문자 기준으로 나누어진 횟수를 파악해 문자 숫자를 확인할 수 있습니다.