Perlで区切られた文字列をどのようにトークン化/トークン化/分割しますか?

StackOverflow https://stackoverflow.com/questions/659705

  •  20-08-2019
  •  | 
  •  

質問

どのように文字列を分割しますか? <!> quot; a:b:c:d <!> quot; Perlで解析するためのトークンに変換しますか?

(例:splitを使用しますか?)

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

役に立ちましたか?

解決

はい、分割が必要です。

@tokens = split(/:/, "a:b:c:d");
foreach my $token (@tokens) {
    ....
}

他のヒント

分割を使用できます。正規表現でも使用できます。


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

より高度な解析には、 Parse :: RecDescent

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

perldoc -f split

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

perldoc -q split

お持ちの場合:

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

次のようになります:

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

一般的に、これは分割の仕組みです:

split /PATTERN/,EXPR

PATTERNはほとんど正規表現になります。 「:

のような単純なトークンに限定されません
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top