• ベストアンサー

文字列の一部分を取り出す方法

例えば $line = 10000100 のような文字列があり、このN文字目~M文字目までを取り出したいと思っているのですがどのようにしたら良いのでしょうか? 一例として,配列を使う方法で print "@array[$N..$M]"; とするアイディアが考えられるのですが、これが良い方法そうな場合、 1) $lineをどのようにして一文字づつ分割するか 2) 実際にプリントすると "1 0 0 "の様にスペースが入ってしまう の問題が分かりません。 どのようにしたら宜しいのでしょうか?あるいはもっとスマートな方法がありますでしょうか? 以上宜しくお願いいたします。

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

  • ベストアンサー
回答No.1

substrが使えます。 この場合だと、 substr($line, N-1, (M-N+1)); でOKかと。 ちなみに一文字づつ分割するのは my @Data = split //, $line; プリントでスペースが入らない方法は print join("", @Data); でOKです。

tk_1980024
質問者

お礼

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

関連するQ&A

専門家に質問してみよう