WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:perlにて文字列からバイト数を指定して取り出す方法。

0:[投稿] abc [2003/12/16 22:18 ][環境:ie apache perl5]

perlのsubstrは文字数で取り出す文字列を指定しますが、このような
感じでバイト数を指定して取得することは可能でしょうか?

先頭から4バイト取り出したいといった場合、英数字だけなら4文字
として取得できますが2バイト文字が有った場合には狂ってきます。

ファイルの場合なら何バイト取得するという関数はありますが、文字
列を処理する場合はどのようにしたらいいのでしょうか?


1:[回答] てふ [2003/12/19 11:19 ]

サイトを回遊してて こんなのあったんだけど

TRY THE HOMEPAGE
http://www.tryhp.net/

便利なサブルーチン関数集

ksubstr
ksubstr(String, Start, Length)  
文字列の指定した位置から指定した文字数を取り出します。
perlのsubstr関数とほぼ同様な動作をしますが、漢字を含んだ文字列を処理できます。 String = 文字列
Star = 開始位置 最初の文字を0とする
Length = 取り出す文字数 漢字も1文字とカウント
【例】 $str = '高知県高知市西本町1-2-3番5号';
$str = ksubstr($str, 5, 3);
print $str;  

ああ、また勘違いじゃなきゃいいけど。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World