1つの文字列に小文字と大文字の間にスペースを追加したいとします。例:JavaScript内の文字列内の小文字と大文字の間のスペース
FruityLoops
FirstRepeat
ここでは、小文字と大文字の間にスペースを追加します。 JavaScriptでどのように始めるべきかわかりません。 substrや検索で何か?誰かが私を助けることができますか?
1つの文字列に小文字と大文字の間にスペースを追加したいとします。例:JavaScript内の文字列内の小文字と大文字の間のスペース
FruityLoops
FirstRepeat
ここでは、小文字と大文字の間にスペースを追加します。 JavaScriptでどのように始めるべきかわかりません。 substrや検索で何か?誰かが私を助けることができますか?
var str = "FruityLoops";
str = str.replace(/([a-z])([A-Z])/g, '$1 $2');
例:そのような単純なhttp://jsfiddle.net/3LYA8/
何か:
"LoL".replace(/([a-z])([A-Z])/g, "$1 $2")
は多分十分であり、あなたは手動で検索してそれを行うことができますが、それはかもしれ
)正規表現で簡単に仮定すると:
:
function spacey(str) {
return str.substring(0, 1) +
str.substring(1).replace(/[A-Z]/g, function(ch) {
return " " + ch;
});
}
alert(spacey("FruitLoops")); // "Fruit Loops"
より効率的に触発されたバージョン(しかし異なる)patrick's answer:
function spacey(str) {
return str.substring(0, 1) +
str.substring(1).replace(/([a-z])?([A-Z])/g, "$1 $2");
}
alert(spacey("FruityLoops")); // "Fruity Loops"
alert(spacey("FruityXLoops")); // "Fruity X Loops"
正規表現のオプションは最高に見えます。しかし、正規表現の権利を取得することは難しいようです。
別の質問をしようとするいくつかのより複雑なオプションとここにあります:
Regular expression, split string by capital letter but ignore TLA
リンク先のスレッドのほとんどはC#固有のもので、JavaScriptでは動作しません。 –
は、有権者を@close:これはXSLTの質問の重複はどのように正確です! –