- ベストアンサー
文字列の一部分を取り出す方法
例えば $line = 10000100 のような文字列があり、このN文字目~M文字目までを取り出したいと思っているのですがどのようにしたら良いのでしょうか? 一例として,配列を使う方法で print "@array[$N..$M]"; とするアイディアが考えられるのですが、これが良い方法そうな場合、 1) $lineをどのようにして一文字づつ分割するか 2) 実際にプリントすると "1 0 0 "の様にスペースが入ってしまう の問題が分かりません。 どのようにしたら宜しいのでしょうか?あるいはもっとスマートな方法がありますでしょうか? 以上宜しくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
substrが使えます。 この場合だと、 substr($line, N-1, (M-N+1)); でOKかと。 ちなみに一文字づつ分割するのは my @Data = split //, $line; プリントでスペースが入らない方法は print join("", @Data); でOKです。
お礼
有難うございます。ばっちり出来ました。 両方の方法を試してみましたがこの場合はsubstrが有用と分かりました。 どうも有難う御座いました!!