Camelizeしてみた
ついでにこれも作ったので張っておく
RailsのActive Supportに用意されてるcamelizeメソッドを参考に書いてみた。
スラッシュとコロンの変換ははぶいちゃいました。
Regexがメンバになってるのはパフォーマンス気にしただけ。
private string Camelize(string underScoredWord) { return Camelize(underScoredWord,true); } Regex _camelizePattern = new Regex("([^_]+)"); private string Camelize(string underScoredWord,bool isUpper) { string rslt = _camelizePattern.Replace(underScoredWord,delegate(Match m) { return m.Value == "" ? "" : Char.ToUpper(m.Value[0]) + m.Value.Substring(1); }); rslt = rslt.Replace("_",""); if(isUpper) { return rslt; } return Char.ToLower(rslt[0]) + rslt.Substring(1); }
ついでにunderscoreメソッドもー
Regex _underScorePattern1 = new Regex("([A-Z]+)([A-Z][a-z])"); Regex _underScorePattern2 = new Regex("([a-z\\d])([A-Z])"); private string UnderScore(string camelizedWord) { string str = _underScorePattern1.Replace(camelizedWord,"$1_$2"); return _underScorePattern2.Replace(str,"$1_$2").ToLower(); }