5

私はキャメルケースの文字列用の関数を書きました (個人名を対象とする単語の先頭と各ハイフンの後の文字をキックアップする必要があります)。

function sadCamelize(input) {
  return input.toLowerCase().replace(/([-\s])(.)/g,
    function(match, separator, starter) {
      return separator + starter.toUpperCase();
  });
}

さて、ラクダを幸せにして、文字列の最初の文字 (スペースやハイフンに続くものではない) もキックアップされるようにしたいと思います。Id est、代わりに:

HONKA-HONKA -> honka-honka

手に入れたい

ホンカホンカ -> ホンカホンカ

現時点では、おそらく迷惑のために立ち往生しています。すべてのラクダは落ち込んでいるので、I.また、私が悲しい/幸せなラクダ(頭が下/上)と呼んでいるものの正しい命名法は何ですか?

4

3 に答える 3

7
function happyCamelize(str) {
    return str.replace(/([a-z])([a-z]+)/gi, function(_, $1, $2) {
        // _: The entire matched string. not used here.
        // $1: The first group. The first alphabet.
        // $2: The second group. The rest alphabets.
        return $1.toUpperCase() + $2.toLowerCase();
    });
}

例:

happyCamelize('HONKA-HONKA') // "Honka-Honka"

このコードは、単一の長さの単語を変更しません。

happyCamelize('h') // => "h"
happyCamelize('H') // => "H"

単一の長さの単語もラクダ化する場合は、 を使用します/([a-z])([a-z]*)/gi

于 2013-10-09T08:13:55.533 に答える
2

あなたの質問の最初の部分は以下の lukas によって回答されているので、私は 2 番目の部分に答えます。

honkaHonka = camelCase

HonkaHonka = PascalCase

他のバリエーションや同義語もあります。ここを参照してください: http://en.wikipedia.org/wiki/CamelCase#Variations_and_synonyms

于 2013-10-09T08:14:25.293 に答える