• ベストアンサー

頭文字を大文字にしたい

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

  • bukas
  • お礼率57% (12/21)
  • Perl
  • 回答数2
  • ありがとう数4

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

  • ベストアンサー
  • 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

  • マウスで文字入力&文字認識

    WEBサイトでお絵かきソフトのようにマウスで文字を書くことをさせ、 さらにその文字を(OCRのように)認識して、 テキストフォームなどの文字入力と同じようにプログラムで処理したいのですが、 どのような実現の仕方があるでしょうか? わたくしPerl遣いですが、Perl単体ではできないように思え、 フリーなどのプログラムがあれば利用したいのですが、、、

  • perl上でのgrepでエラーとなる文字の対応

    perlプログラム内で、grepを行っております。 grep対象の中身に +、*、(、)、[、]などの文字列が含まれているため、エラーとなり、 プログラムがうまく動作しません。 grepしたい対象データ例:http://www.XXX.co.jp/○○+▲▲ http://www.XXX.co.jp/○○+▲▲の+を 文字として判断し、正規表現扱いではないとしたい。 http://www.XXX.co.jp/○○+▲▲を含む文字を抽出したい。 perl プログラムにおいて @line1 = grep(/$url/,<ARG>); という記述しておりますが、どのように変更すればよいでしょうか? また、grepしたい対象データがファイルに格納されておりますが、 その中で、+を \+ にファイル一括変換する場合、:%s/+/\+/g で やろうとしても、変換されません。 perlプログラムでの対応、grep元ファイルの変換処理方法 それぞれのやり方について教えてください。

    • ベストアンサー
    • Perl
  • テキスト内文字列検索 Perl言語

    テキストファイル内の文字列を「Perl」で検索したいのですが…。 例 aa.txtの中の"AA"を含む1行をデスクトップのbb.txtに追加書き込みをする。AAの部分は外部からのタイプで変化させる。 このようなPerlのプログラム、初心者ですがよろしくお願いします。

  • 1つのセルに文字を入れたときの、文字の頭を揃えたい

    教えてください。 1つのセルに、縦書きで文字を2列入れたのですが、 2列の文字数が違うと、頭の文字が揃いません。 一番最初の文字の頭を揃えたいのですが、方法が分かりません。 ご存知の方がいらっしゃいましたら、教えてください。

  • Javaの文字列の大小比較についてです。

    Javaでは、文字列の大小比較をする時、StringのcompareToを使用しまが… compareToの中の処理は一旦char型に直して、それを比較しているのでしょうか? また、compareToを使用せずに、プログラム内に自分で書いた場合、処理速度は変化ありますか?

    • ベストアンサー
    • Java
  • Perlでの文字列処理について

    プログラム初心者です。 Perlで下記のような文字列処理のプログラムの書き方がわからず、質問させて頂きました。 【内容】 FILE_A.txtが「!」マークで区切られていて、「!」マークの下行の文字列をIPアドレスの右横に移動したものをFILE_B.txtに出力するという処理です。 「!」マークの下行の文字列の「name」は共通です。 -------------------------------------------- 【FILE_A.txt】 ! name abcdeLV 123.123.123.123 123.123.123.124 123.123.123.125 ! name fghijLV 10.10.10.11 10.10.10.12 10.10.10.13 10.10.10.15 10.10.10.16 ! -------------------------------------------- ↓ -------------------------------------------- 【FILE_B.txt】 123.123.123.123 abcdeLV 123.123.123.124 abcdeLV 123.123.123.125 abcdeLV 10.10.10.11 fghijLV 10.10.10.12 fghijLV 10.10.10.13 10.10.10.15 fghijLV 10.10.10.16 fghijLV -------------------------------------------- 上記のようなPerlでの処理を具体的に教えて頂ければうれしいです。 本サイトのようなものを利用するのが初めてですので、不手際があるかもしれませんが なにとぞよろしくお願いいたします。

    • ベストアンサー
    • Perl
  • 重複しない最初の文字を取り出す

    学校の課題で 「標準入力された文字列の中で、重複していない最初の文字を表示せよ」 というプログラムが出題されました。 例えば、 pen pan eagle と入力した場合、penは前に文字列がないので重複がない、panはpが重複するがaは重複しない、eagleはeもaも重複するがgは重複しなので、 p a g と表示するようなプログラムです。 どういう感じで書けばよいでしょうか? 言語は何でもよいといわれたのですが、私が何とかなりそうなJavaかPerlだとありがたいです。

  • javaで頭文字を大文字にする

    java初心者です。 名前をアルファベットで入力した際に、頭文字を大文字で表示できるように設定したいと 思っています。 substringやreplaceで試してみましたが、入力される名前の長さがそれぞれ異なるので、 設定できませんでした。(私の力量不足かもしれません、、) よい方法ありますでしょうか? 初めての試みなので、詳しく説明頂けると助かります。 よろしくお願い致します。

  • flashで文字を縦書きにしたい

    flashで文字を縦書きにしたいのですが。 分解して縦に整列しか方法が分からないのですが最初から縦書きの方法はありますか? よろしくお願いします

  • 自分が作っているプログラムの文字コードについて

    自分が作っているプログラムの文字コードについて perlにてプログラムを作っているのですが、プログラムの文字コードが何なのかよく分かりません。 自分が作っているプログラムの文字コードってどのようにして調べるのでしょうか? お恥ずかしいことだとは思いますが、自分が作っているプログラムの文字コードが分からないのです。。 ご回答の程、よろしくお願い致します。

    • ベストアンサー
    • Perl

専門家に質問してみよう