#大文字の前にスペースを挿入する
例えば文字列「CentOSRaspberryPiSQL
」を「CentOS
Raspberry
Pi
SQL
」のように分割できます。
大文字・小文字混じりの文字列、つまりキャメルケースの文字列を大文字の前でスペース区切りにしたい場合で、SQL
などの連続大文字には適用したくない場合の Javascript です。
camel2spsep.js
var camel2spsep = function (str) {
separator = ' ';
return str
.replace(/[A-Z][a-z]/g, function (match) {
return separator + match;
})
.replace(/[A-Z]+$/g, function (match) {
return separator + match;
})
.trim();
};
console.log( camel2spsep('CentOSRaspberryPiSQL'));
//結果は「CentOS Raspberry Pi SQL」
#何に使うの?
WikipediaAPI などで、"RaspberryPi" で検索するとヒットしないのですが、"Raspberry Pi" だとヒットするため、ちょっとした検索率向上に。
逆に "JavaScript" は "Java Script" になってしまうので完璧ではないです。
#参考文献
- Insert space before capital letters @ Stack Overflow
https://stackoverflow.com/questions/5582228/insert-space-before-capital-letters - JavaScriptで正規表現(文字列置換え編)@ Qiita
http://qiita.com/hrdaya/items/291276a5a20971592216