JavaScript/코드

[JS] 영어 첫글자만 대문자로 바꾸기

나를 제외한 천재들 2023. 6. 22. 03:15

 

코드예제

 
 

코드
function toCapitalize(str) {
  return str.replace(/\b\w/g, (match) => match.toUpperCase());
}

// : 사용예시
toCapitalize('hello world');
// 'Hello World'

 

코드풀이
'ABC'.replace(/\b\w/g, '');
// 'BC'
  • \b (word boundary) 단어의 시작 또는 끝에서 일치 항목 위치를 감지합니다.
  • \w (word character) 한글, 영어, 숫자등의 문자를 의미합니다.

 

두 정규식을 같이 사용해 주면 첫 번째에 위치한 [문자]를 의미합니다.

 

'hello world'.replace(/\b\w/g, (match) => match.toUpperCase());
// 'Hello World'
  • 띄어쓰기, 특수문자 등으로 구분된 첫 번째 문자를 모두 감지해 줍니다.
  • String.toUpperCase() 메서드를 이용해서 감지한 첫 번째 문자를 대문자로 변경해 줍니다.

 

제일 첫번째 단어만 대문자로 변경하길 원한다면, 정규식에서 g(global)을 제거해주시면 됩니다. [ /\b\w/, ... ]