Perl uc,lc,ucfirst,lcfirst 大文字・小文字変換関数群
大文字と小文字の変換を行います。
機能
uc
(uppercase) すべての小文字を大文字に変換します。
関数
lc
(小文字) すべての大文字を小文字に変換します。
Perlには4つの組み込み関数クラスがあり、文字や単語の大文字小文字を簡単に変更することができます。関数 uc() は引数をすべて大文字で返し、lc() は引数を小文字で返します。uc()とlc()は、引数が指定されない場合、どちらも$_変数に対して操作されます。
単語の最初の文字の大文字小文字を変更するには、ucfirst() および lcfirst() を使用します。uc()やlc()と同様に、ucfirst()やlcfirst()は引数を指定しない場合、変数$_に対して操作を行います。
これらの4つの関数はいずれも引数を変更せず、単に変更された引数のコピーを返します。ですから、結果を変数に代入するか、表示するか、あるいは他の方法で返された値を使用する必要があります。よくある間違いで、次のようなことをやってしまいます。
$a = 'hello';
uc($a);
print $a;
一見すると、このコードは "HELLO" と表示されると思うかもしれません。しかし、uc() はパラメータを変更しないので、小文字の "hello" が表示されるだけです。期待通りの結果を得るには、次のようなコードを使用します。
$a = 'hello';
$a = uc($a);
print $a;
また、二重引用符の中の文字列に対して、/Lと/Uのエスケープシーケンスを使用することで、単語の大文字と小文字を変更することができます。次のコードを使用すると、前と同じ結果を得ることができます。
$a = 'hello';
print "/U$a/E";
エスケープ文字 /E は、直前のエスケープ文字 (この場合は /U) で始まるものを終了させます。
大文字・小文字の変更は、Perlに内蔵されている大文字・小文字変換機能と、二重引用符で囲まれたエスケープ文字/U、/Lで簡単に行うことができます。
単語の最初の文字を大文字にする
$str =~ s/(\w+)/\u$1/
perlでは、uc,lc, \U,\L を使って変数の大文字・小文字を変更することができます。ここで、uc, \U は変数に含まれるすべての文字を大文字に変換し、対応する lc,\L は変数に含まれるすべての文字を小文字に変換するものです。もし、変数の最初の文字だけを大文字にしたり、最初の文字だけを小文字にしたい場合は、perlが提供している他の2つの関数ucfirstとlcfirstを使えばよいので、以下に具体例を見てみましょう。
#! /usr/bin/perl
use strict;
use warnings;
my $little = "hello";
print "little:$little\n";
my $big = uc($little);
print "big:$big";
$little = lc($big);
print "little:$little\n";
$big = "\U$little";
print "big:$little";
$little = "\l$big";
print "little:$little\n";
$big = ucfirst($little);
print "big:$little\n";
$little = lcfirst($big);
print "little:$big\n";
この上のプログラムは、次のような結果を出力します。
こんにちわ
ハロー
こんにちわ
HELLo
こんにちわ
こんにちは
こんにちわ
今回の記事はこれで終わりです、スクリプトハウス編集部はいくつかの記事をまとめました、今後ともスクリプトハウスをもっと応援してください。
関連
-
PerlとStrawberryPerl、ActivePerlの違いを詳しく解説
-
PerlとJSの比較 (配列、ハッシュ)
-
EditPlusでPerlの開発コンパイル環境を設定する
-
ディレクトリ内のファイルを再帰的に走査するためのPerlスクリプト
-
Perlでよく使われる記号と操作
-
perlは{}で変数名を変更する方法を共有します。
-
Perlにおけるchompとchopの違いの紹介
-
perlの尖ったブラケット演算子(<>)について
-
特定の塩基比を持つランダムな配列を生成するための perl コード
-
[解決済み] strict pragma のもとで変数を NULL に設定するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン