例えば $line = 10000100
のような文字列があり、このN文字目~M文字目までを取り出したいと思っているのですがどのようにしたら良いのでしょうか?

一例として,配列を使う方法で
print "@array[$N..$M]";
とするアイディアが考えられるのですが、これが良い方法そうな場合、
1) $lineをどのようにして一文字づつ分割するか
2) 実際にプリントすると "1 0 0 "の様にスペースが入ってしまう
の問題が分かりません。

どのようにしたら宜しいのでしょうか?あるいはもっとスマートな方法がありますでしょうか?
以上宜しくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

substrが使えます。



この場合だと、
substr($line, N-1, (M-N+1));
でOKかと。

ちなみに一文字づつ分割するのは
my @Data = split //, $line;

プリントでスペースが入らない方法は
print join("", @Data);
でOKです。
    • good
    • 0
この回答へのお礼

有難うございます。ばっちり出来ました。
両方の方法を試してみましたがこの場合はsubstrが有用と分かりました。

どうも有難う御座いました!!

お礼日時:2005/04/05 18:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報