我需要从诸如ABS,TVS和PERL的文件中提取某些缩写。任何以大写字母表示的缩写。我最好喜欢用正则表达式来做这件事。任何帮助表示赞赏。如何使用Perl从文件中提取缩写?
0
A
回答
2
未经测试:
my %abbr;
open (my $input, "<", "filename")
|| die "open: $!";
for (< $input >) {
while (s/([A-Z][A-Z]+)//) {
$abbr{$1}++;
}
}
修改它来寻找至少两个连续大写字母。
4
很高兴听到您特别遇到困难的部分。从标准输入检索
my %abbr;
open my $inputfh, '<', 'filename'
or die "open error: $!\n";
while (my $line = readline($inputfh)) {
while ($line =~ /\b([A-Z]{2,})\b/g) {
$abbr{$1}++;
}
}
for my $abbr (sort keys %abbr) {
print "Found $abbr $abbr{$abbr} time(s)\n";
}
2
#!/usr/bin/perl
use strict;
use warnings;
my %abbrs =();
while(<>){
my @words = split ' ', $_;
foreach my $word(@words){
$word =~ /([A-Z]{2,})/ && $abbrs{$1}++;
}
}
# %abbrs now contains all abreviations
3
阅读文本,写 所有的缩写发现到标准输出,用空格分隔:
my $text;
# Slurp all text
{ local $/ = undef; $text = <>; }
# Extract all sequences of 2 or more uppercase characters
my @abbrevs = $text =~ /\b([[:upper:]]{2,})\b/g;
# Output separated by spaces
print join(" ", @abbrevs), "\n";
注意使用的POSIX字符类[:上:],这将匹配 全部大写字母,不只是英文字母(AZ)。
相关问题
- 1. 如何使用Perl从文本文件中提取IP地址?
- 2. 如何从使用Perl的路径中提取文件名?
- 3. 如何使用Perl从CSV文件中提取多列
- 4. 如何在Perl中提取压缩归档文件?
- 5. 如何使用Perl的XML :: Simple从XML文件提取值?
- 6. 如何从Perl文件中提取HTML文件的链接?
- 7. 使用Perl从文本文件中提取文本
- 8. 如何使用Perl的Archive :: Zip从ZIP压缩文件中提取单个文件?
- 9. 使用DotNetZip从压缩文件中提取特定文件夹
- 10. 如何使用pylzma从7zip压缩文件中提取多个文件
- 11. 如何使用Perl从SGML DTD中提取文本内容?
- 12. 如何从Perl中的CSV文件中提取字段?
- 13. 如何从Perl中的XML文件中提取和保存值?
- 14. 如何使用Perl从目录中的所有文件中提取模式?
- 15. 如何提取读取压缩文件?
- 16. 从android中提取压缩文件夹
- 17. 从jpeg文件中提取缩略图
- 18. 使用Perl从文件中提取证书
- 19. 如何在C#中使用SharpZipLib提取多卷压缩文件?
- 20. 如何从perl文件中提取一些特定的信息?
- 21. 如何从perl提取日志文件中的数据
- 22. 如何从Perl字符串中提取文件路径?
- 23. 如何使用Perl从制表符分隔的文件中提取特定列?
- 24. 如何使用Perl和XPath从此XML文件中提取所需的节点?
- 25. 使用boost :: iostreams提取压缩文件
- 26. 如何使用C#.Net从.CAB文件中提取文件?
- 27. 如何使用Lua从zip文件中提取文件?
- 28. 如何从压缩文件中提取行间隔/范围?
- 29. 如何使用Perl从第n行写入文件
- 30. 如何使用vbscript提取压缩文件
你打算如何确定一个词是否是一个缩写?必须有某种数据库,比如另一个包含所有缩写的文件,或者可以查询的数据库。 – ghostdog74 2009-07-08 08:15:19
以上实现可能会将任何大于2个字符的大写字符字符串视为缩写。 – 2009-07-08 08:25:56
我还会增加一个上限,因为如果它说的长度超过5或6个字符,那么我会怀疑它是一个缩写;) – fortran 2009-07-08 09:32:51