Perl,计算带有特殊字符的单词

时间:2010-08-20 15:57:57

标签: regex perl

我需要计算一些单词的数量,包括XML文档的特定部分中的%,$等特殊字符。

我需要使用正则表达式在Perl脚本中编写它。

任何人都有任何建议,我可以从哪里开始寻找更多信息,因为这是我的第一个perl脚本。

  1. 我需要帮助隔离该部分及其数据。
  2. 我可能会使用该数据传递给子程序来计算单词。
  3. name
    desc
    address
    line1
    line2
    line3
    

    在上面的示例中,我需要捕获地址及其中的所有行,并构建一个将被计算的字符串。

3 个答案:

答案 0 :(得分:4)

啊哈。您想要解析XML。例如,使用XML解析器 XML ::嫩枝。 Here 是一个介绍。

答案 1 :(得分:1)

试试这个......

my $counter = 0;
$counter++ while ($string =~ m/[\S]+/g);

这将为您提供单词(空格之间的字符组)的计数,并且如果它们被空格与其他单词分隔,则将包含特殊字符,例如%,$。

答案 2 :(得分:-1)

如果你已经在字符串中提供了文本,你可以试试这个:

my $counter = 0;
my @words = split " ", $string;
for my $word (@words) {
    $counter++ if ($word =~ /\W/);
}
print $counter;
相关问题