ハイフネーション文字列とアルパカ文字列の相互変換

1090 ワード

ハイフネーションアルパカ
1つ目の方法:正規一致関数を使用する
let str = 'str-arr-test';
str = str.replace(/(\w*)-(\w*)/g, function ($1, $2, $3) {
    //console.log($2, $3);
    return $2 + $3[0].toUpperCase() + $3.slice(1);
});
console.log(str);
//   strArrTest

第2の方法:jsのsplitとreduceの方法を使用する
let str = 'str-arr-test';
str = str.split('-').reduce((acc, val, idx) => idx === 0 ?
    acc + val : acc + val[0].toLocaleUpperCase() + val.slice(1), '');
console.log(str);
//   strArrTest

アルパカ文字
1つ目の方法:正則
let str = 'strArrTest';
str = str.replace(/([A-Z])/g, function ($1) {
    return '-' + $1.toLocaleLowerCase();
});
console.log(str);
//    str-arr-test

2つ目の方法は、正規の非キャプチャグループを使用して配列を切断し、reduceを使用してすべての要素を巡回することです.
let str = 'strArrTest';
str = str.split(/(?=[A-Z])/g).reduce((acc, val, idx) => idx === 0 ?
    acc + '-' + val : acc + '-' + val[0].toLocaleLowerCase() + val.slice(1));
console.log(str);
//    str-arr-test