0

私はPerlを初めて使用し、現在、2文字だけで文字列を分割しようとしています。私は他の答えを見ましたが、それらはその問題に固有であるか、答えを理解するためのコメントが不足しているようです。

最終的な目標は、非常に長いCSVファイルを受容セクションに分割し、後で使用できるようにすることです。サンプルデータは次のようになります

HOME 123454 monkey lion 6.4.2.10 ( ABCD EFGH (Tue 20th August 2000) 12345 True )<br />HOME 123454 monkey lion 6.4.2.10 ( ABCD EFGH (Tue 20th August 2000) 12345 True )<br />

文字列を「<br/>で独自の文字列に分割し、文字列を配列に格納することを検討します。これまでのところ、文字列を分割しようとしたのは次のとおりです。

my $line1 = split("/<br />", $Line);

出力を印刷してテストしますが、機能しません。

4

2 に答える 2

7

このsplit関数は、スカラーコンテキストでの分割数を返します。分割のリストを取得するにはsplit、リストコンテキストで呼び出す必要があります。

my $str   = q{HOME 123454 monkey lion 6.4.2.10 ( ABCD EFGH (Tue 20th August 2000) 12345 True )<br />HOME 123454 monkey lion 6.4.2.10 ( ABCD EFGH (Tue 20th August 2000) 12345 True )<br />};
my @lines = split qr{<br\s?/>}, $str;
于 2012-08-01T12:24:50.233 に答える
3
$str = 'HOME 123454 monkey lion 6.4.2.10 ( ABCD EFGH (Tue 20th August 2000) 12345 True )<br />HOME 123454 monkey lion 6.4.2.10 ( ABCD EFGH (Tue 20th August 2000) 12345 True )<br />';

my @list = split(qr'<br />', $str);

say $_ for @list;
于 2012-08-01T12:19:49.023 に答える