如何解决如何计算字符串XML标记在一行中出现的次数?
| 假设我的XML文件在一行中有多个“ 0”标签。我正在逐行阅读文档。我如何计算每一行中有多少这些标签?我想要类似的东西:foreach \"<Timestamp>\" in $line {
print \"FOund\";
}
任何想法?
解决方法
while ($line =~ /<Timestamp>/g) {
print \"Found\\n\";
}
应该可以。 /g
修饰符在那里很重要。请参阅第4章“在Perl中使用正则表达式”,它涉及全局匹配。
,是XML,use
XML::Twig
:
my $twig = XML::Twig->new( twig_roots => { Timestamp => 1 });
$twig->parsefile( $xml_file_path );
my $timestamp_count = ( my @a = $twig->root->children( \'Timestamp\' ));
,\'redo \'控制语句重新启动当前语句块的执行。您可以使用它来编写类似:
foreach $line (<>)
{
$tag = $line =~ m/(<.*>)/;
push @tags,$tag;
if( $tag ) redo;
}
警告,我还没有运行。
希望能有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。