2017-04-24 9 views
0

は、私はフォーマットであるテキストファイルがあるとしましょう:すべての行の最初の部分を削除するには?

S1:I am line one. 
S2:I am line two. 
S3:I am line three. 
S4:I am line four. 

(IだけI am line one.などが残っていますように)どのように私は、各行のIDの一部を削除することができますか?入力レコードセパレータ$/を変更するか、IDを削除する正規表現を使用する方が良いですか?

答えて

3

これはおそらく?

open my $fh, '<', $filename or die qq{Unable to open "$filename" for input: $!}; 

while (<$fh>) { 

    s/^[^:]*://; 

    # Use remainder of line left in $_ 
} 
+0

私はスクリプト内でこれを行うことはなく、コマンドライン上だ:それは最初のコロン:までを含むすべてのものと一致し、プログラムの中で、それ

perl -pe 's/^[^:]*://' myfile > newfile 

を削除する正規表現を使用しています。 Pabloのように、正規表現が 'split'関数内で動作するのでしょうか? –

+0

@KyleWeise:私の答えのアップデートを参照 – Borodin

+0

素晴らしいです。ありがとうBorodin! –

関連する問題