代码之家  ›  专栏  ›  技术社区  ›  Rook

如何在Perl中标记化/标记化/拆分分隔字符串?

  •  13
  • Rook  · 技术社区  · 17 年前

    如何将字符串(例如“a:b:c:d”)拆分为标记,以便在Perl中进行解析?

    首先要寻找清晰、直截了当的答案(但之后一定要添加一些有趣的信息)。

    4 回复  |  直到 17 年前
        1
  •  14
  •   pikachu0    8 年前

    对 split 这就是你想要的。

    @tokens = split(/:/, "a:b:c:d");
    foreach my $token (@tokens) {
        ....
    }
    
        2
  •  9
  •   Geo    17 年前

    您可以使用split。您还可以将其与正则表达式一起使用。

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

    对于更高级的解析,我建议 Parse::RecDescent

        3
  •  5
  •   user55400    17 年前

    通过在命令行提示符下键入,还可以查看perl附带的文档:

    perldoc -f split
    

    perldoc -q split
    
        4
  •  3
  •   Nathan Fellman    17 年前

    如果您有:

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

    然后你会得到:

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

    split /PATTERN/,EXPR
    

    哪里 PATTERN : '