文字列処理

  アルファベットの小文字を大文字に変換



  
# *******************************************************************
# 
# *******************************************************************
$Method = $ENV{'REQUEST_METHOD'};
$Method =~ tr/a-z/A-Z/;
  

JavaScript : strVariable.toUpperCase();
VbScript : UCase( strVariable )



  文字列検索



  
# *******************************************************************
# ブラウザの種類
# *******************************************************************
sub IsIe {
	if ( $ENV{'HTTP_USER_AGENT'} =~ /MSIE/ ) {
		$TRUE;
	}
	else {
		$FALSE;
	}
}
  

  
# *******************************************************************
# ブラウザの種類
# *******************************************************************
sub IsIe {
	if ( $ENV{'HTTP_USER_AGENT'} !~ /MSIE/ ) {
		$FASLE;
	}
	else {
		$TRUE;
	}
}
  

JavaScript : strVariable.indexOf(substring);
VbScript : InStr(string1, string2)



  文字列置換

[1回だけ置換]
$CnvSubject =~ s/\n//;

[すべて置換]
$CnvSubject =~ s/ //g;




  部分文字列関数

  
$a = substr( 文字列, 開始位置, 長さ )
  

文字列の先頭開始位置は 0
$[に値をセットすることで変更可能
substr() 関数は左辺値として使うこともできる

「 $[は、配列や文字列の 位置表現の下限値 」



  文字列の繰り返し、文字列の長さ

  
$n = 7;
$a = "15";
$a = ("0" x 10) .  $a;
$a = substr( $a, length($a)-$n, $n );
print "/$a/<br>\n";

$a = "&nbsp;" x $n;
print "/$a/<br>\n";
  

[結果]
  
/0000015/<br>
/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/<br>
  




  文字列の分割と連結

  
$a = ",,,,,,,,,,,,," . "\n";
@a = split( /,/,  $a );
$a[$#a] =~ s/\n//;
for ( 0 .. $#a ) {
	print "$a[$_]<br>\n";
}

$a = join( ":", @a );
print "$a<br>\n"

print join( "<br>", "あ", "い", "う" );
  



  sprintf, printf

  
@IB_TIME = localtime(time);
$IB_CREATE_KEY = sprintf( "%02d%02d%02d%02d%02d%02d",
			$IB_TIME[5]-100,
			$IB_TIME[4]+1,
			$IB_TIME[3],
			$IB_TIME[2],
			$IB_TIME[1],
			$IB_TIME[0] );
printf( "%02d/%02d/%02d %02d:%02d:%02d",
			$IB_TIME[5]-100,
			$IB_TIME[4]+1,
			$IB_TIME[3],
			$IB_TIME[2],
			$IB_TIME[1],
			$IB_TIME[0] );
print "<br>\n";
print "$IB_CREATE_KEY<br>\n"
  



  chop

  
chop(LIST) 
chop(VARIABLE) 
chop VARIABLE
chop

文字列の最後の文字を落としてその文字列を返す。入力文字列から最後の改行文字を除くのに使ったりする。
文字列を省略した場合、$_ を使う。 

while (<>) {
     chop;     # 最後の \n を取る
     @array = split(/:/);
     ...

左辺値であれば引数は何でもいい。 

chop($cwd = `pwd`);
chop($answer = <STDIN>);

リストを chop した場合は、全リストを chop し、最後に chop した文字を返す。 
  



  grep

  
grep(EXPR,LIST)
LIST の全要素について EXPR を評価し (各要素を $_ にセットしながら)、 expression が true 
であると評価された要素からなる配列を返す。スカラーのコンテキストでは、expression が true
 となった回数を返す。 

@foo = grep(!/^#/, @bar);    # コメントを無視する
  



  keys, values

  
keys(ASSOC_ARRAY)
keys ASSOC_ARRAY
指定された連想配列の全てのキーからなる通常の配列を返す。キーは全くランダムな順序で返されるが、
values() や each() 関数の出力と同じである (連想配列が変更されていなければ)。以下は環境を出力
するまた別の方法である。 

@keys = keys %ENV;
@values = values %ENV;
while ($#keys >= 0) {
     print pop(@keys), '=', pop(@values), "<br>\n";
}
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ