- ベストアンサー
テキストファイルからの文字の切り出し?
Perl初心者でほとほと困っております。 テキストファイル(例えば内容が"Hokkaido Sapporo")の中の最初の3文字めから8文字めまで切り出したい(”kkaido”)場合、どうやったらいいのでしょうか? ※2日間、徹夜ではまっております…
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
$text="Hokkaido Sapporo"; $get3_8=substr $text,3-1,8-3+1; #3文字目から6文字取り出す
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>例えばperl -pe sample.pl < data.txt とした場合、 (まず、-eオプションは続けてスクリプトを書くオプションなので、sample.plの様にスクリプトファイルを指定する場合には、必要ありません) -pオプションで スクリプト全体が while(<>){ #ココ } continue { print ; } で囲まれたような感じになるので、 ファイルのそれぞれ1行のレコードが$_に読み込まれprintされるということを踏まえて #1での$textを$_に置き換えれば良いです。 ただ、ファイルの全てのレコードの3文字目から8文字目を切り出すのが目的なのかなとちょっと疑問ですが。
お礼
何度もありがとうございます。非常に参考になりました。 Perlは初めてですが、なんとなく見えてきました。
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
>テキストファイル(例えば内容が"Hokkaido Sapporo")の中の最初の3文字めから8文字めまで切り出したい ?? = substr ( 対象文字列 , 開始位置 , バイト数 ); 注意としては、開始位置は、0から数えた数。 perlの場合、カッコは省略可能なことが多いですが、わかりにくさを増やすだけなので、 書くことを心がけた方が良い。 >ファイルから入力する場合は(例えばperl -pe sample.pl < data.txt)はどのようにすれば良いのでしょうか? perl sample.pl < data.txt で、sample.plスクリプトを実行し、標準入力として、data.txtを取り込みます。
お礼
ありがとうございます。 2日間はまりましたが、先があかるくなりました…。また宜しくお願い致します。
お礼
ありがとうございます(やったー!)。 無知を承知で質問致しますが、ファイルから入力する場合は(例えばperl -pe sample.pl < data.txt)はどのようにすれば良いのでしょうか? 恥ずかしい質問×2ですみません…