括弧内の文字を除いて、ほとんどの文字列を小文字に変換したいと考えています。ブラケットの外側をすべて小文字に変換した後、ブラケットを削除します。したがって{H}ell{o} World
、入力として与えることはHello world
、出力として与える必要があります。ブラケットを削除するのは簡単ですが、正規表現を使用してブラケットの外側をすべて小文字にする方法はありますか? 簡単な正規表現ソリューションがない場合、JavaScript でこれを行う最も簡単な方法は何ですか?
4 に答える
1
すべての括弧のバランスが取れていると仮定すると、小文字にする必要がある部分は次のように含まれます。
- 左側は文字列の開始点または
}
- 右側は、文字列の終わりまたは
{
これは機能するコードです:
var str = '{H}ELLO {W}ORLD';
str.replace(/(?:^|})(.*?)(?:$|{)/g, function($0, $1) {
return $1.toLowerCase();
});
// "Hello World"
于 2013-06-16T04:36:00.760 に答える
1
これはおそらくあなたが探しているものだと思います: Javascript regex を使用して大文字と小文字を変更する
ハイフンの代わりに最初の中かっこで検出します。
于 2013-06-15T22:19:00.287 に答える
0
@Jack のソリューションを次のように修正します。
var str = '{H}ELLO {W}ORLD';
str = str.replace (/(?:^|\})(.*?)(?:\{|$)/g, function($0, $1) {
return $1.toLowerCase ();
});
下部ケーシングとブラケットの取り外しを 1 回の操作で実行できます。
于 2013-06-16T06:04:19.087 に答える