[アルゴリズム]プログラマ-JadenCase文字列の作成(JS)


質問する


すべての単語の頭文字は大文字で、他のアルファベットは小文字です.指定された文字列をJadenCaseの問題に戻す必要があります.
質問リンク
I/O例
let output1 = solution("3people unFollowed me"); // -> "3people Unfollowed Me"
console.log(output1);

let output2 = solution("for the last week"); // -> "For The Last Week"
console.log(output2);

解答方法


正規表現を使用するため、文字列は簡単に処理できます.
まず、すべての文字を小文字に変換し、小文字で始まる単語の最初の文字を大文字に変換してから、車に戻ればいいです.
ここで使用する正規表現は次のとおりです.
  • b->は「境界」(単語の境界)を表します.前に貼る場合は、範囲の前の文字を選択します.
  • [a-z]->a-zの小文字
  • /g->文字列範囲
  • /\b[a-z]/g = (문자열 전체 범위에서) 소문자 알파벳인 단어의 앞 글자
    この正規表現を使用すると、文字列から変更したい部分を選択できます.

    選択した文字列をreplaceメソッドで置き換えると、2番目のパラメータにコールバック関数が含まれます.replaceメソッドの最初のパラメータである文字をコールバック関数のパラメータに入れ、大文字に変換すれば簡単に解読できます.
    このメソッドを適用すると、次の問題を解決できます.
    function solution(s) {
        return s.toLowerCase().replace(/\b[a-z]/g, (match) => match.toUpperCase());
    }