13

"a:b:c:d" などの文字列を Perl で解析するためにトークンに分割するにはどうすればよいですか?

(たとえば、分割を使用しますか?)

何よりも明確で簡単な答えを探しています(ただし、後で興味深い情報を追加してください)。

4

4 に答える 4

14

はい、分割はあなたが望むものです。

@tokens = split(/:/, "a:b:c:d");
foreach my $token (@tokens) {
    ....
}
于 2009-03-18T19:20:33.287 に答える
9

スプリットを使用できます。正規表現で使用することもできます。


my @tokens = split(/:/,$string);

より高度な解析には、Parse::RecDescentをお勧めします

于 2009-03-18T19:18:26.160 に答える
5

また、コマンド ライン プロンプトで次のように入力して、perl に付属のドキュメントを参照してください。

perldoc -f split

よくある質問を検索するには

perldoc -q split
于 2009-03-19T10:55:35.863 に答える
3

あなたが持っている場合:

$a = "a:b:c:d";
@b = split /:/, $a;

次に、次のようになります。

@b = ("a", "b", "c", "d")

一般に、分割は次のように機能します。

split /PATTERN/,EXPR

PATTERNほとんどの正規表現はどこにありますか。:「 」のような単純なトークンに限定されません

于 2009-03-18T19:19:19.343 に答える