JavaScript로 문장의 제목 대소문자 처리하기
타이틀 케이스(Title Case)란 문장 내 모든 단어의 첫 글자를 대문자로 변환하고, 나머지 글자는 소문자로 유지하는 방식입니다. 입력된 문자열(문장)은 대문자와 소문자가 뒤섞여 있을 수 있으므로, 이를 일관되게 타이틀 케이스로 바꾸기 위한 알고리즘이 필요합니다.
알고리즘
- 문장을 개별 단어로 분리합니다. 이 작업은 string.split() 메서드를 사용하여 수행할 수 있습니다.
- 각 단어의 모든 글자를 string.toLowerCase() 메서드를 사용하여 소문자로 변환합니다.
- for 루프를 통해 각 단어의 첫 글자를 순회하며 대문자로 변환합니다. 변환 후에는 해당 글자와 나머지 부분(slice(1))을 다시 연결하여 첫 글자만 대문자인 원래 단어를 만듭니다.
- 마지막으로 String.join() 메서드를 사용해 모든 단어를 공백으로 연결하면, 원래 문자열이 되면서도 타이틀 케이스가 적용된 결과를 얻을 수 있습니다.
예제
<html>
<body>
<script>
function titleCase(string) {
var sentence = string.toLowerCase().split(" ");
for(var i = 0; i < sentence.length; i++){
sentence[i] = sentence[i][0].toUpperCase() + sentence[i].slice(1);
}
document.write(sentence.join(" "));
return sentence;
}
titleCase("tutorix is one of best e-platforms");
</script>
</body>
</html>출력 결과
Tutorix Is One Of Best E-platforms
위 예제에서 함수는 먼저 전체 문자열을 소문자로 변환한 후 공백 기준으로 분리합니다. 이어서 각 단어의 첫 글자를 대문자로 만들고 slice(1)로 가져온 나머지 글자와 결합한 다음, 최종적으로 공백으로 다시 조인하여 타이틀 케이스가 적용된 완성된 문장을 출력합니다.