• ベストアンサー

頭文字を大文字にしたい

perlのプログラムの中で名前の処理を行いたいと思っています。 そこで、SIHOをSihoに変化したり、masasiをMasasiのように最初の一文字を大文字にあとの文字を小文字に直す方法はありますでしょうか。 また、AyakaKurusugawaをAyakaとKurusugawaに分解したいのですがどのようにすればできますでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

初めの方はnaturalさんのように、   ucfirst(lc($name)) とすれば求まります。 名前分割の方は、アルファベットのみの名と姓の組み合わせに限定すれば、   ($First, $Second) = ($name =~ /^([A-Z][a-z]*)([A-Z][a-z]*)$/); と書けます。

bukas
質問者

お礼

きちんと処理することができました。 特に2つ目の処理に関しては、別のところにも活用できました。またまだ、勉強することが多いことを実感しました。 次に質問したときもよろしくお願いします。

その他の回答 (1)

  • natural
  • ベストアンサー率37% (419/1115)
回答No.1

とりあえず最初の方だけ。 $name = lc($name); ・・・文字列$nameを全て小文字に変換 $name = ucfirst($name); ・・・文字列$nameの先頭一文字だけ大文字に変換 これで如何でしょうか? #因みにlcはlower case、ucはupper caseですのでそれぞれuc、lcfirstも存在します。

bukas
質問者

お礼

キチンと最初の文字のみを大文字に変化できました。 回答をお早くいただけ大変助かりました。

関連するQ&A

専門家に質問してみよう