ABS、TVS、PERLなどのファイルから特定の略語を抽出する必要があります。大文字の略語。私は、通常、これを正規表現で行うのが好きです。どんな助けもありがとうございます。Perlを使用してファイルから略語を抽出するにはどうすればよいですか?
答えて
未テスト:
my %abbr;
open (my $input, "<", "filename")
|| die "open: $!";
for (< $input >) {
while (s/([A-Z][A-Z]+)//) {
$abbr{$1}++;
}
}
は、少なくとも2つの連続した大文字を探すために、それを修正しました。
これを代用する必要はなく、処理する前にファイル全体を読み込む必要もありません(余分なスペースのためにreadline()ではなくglob()です)。 – ysth
あなたはおそらく正しいですが、エディタはスペースなしでは許可しませんでした。私は "ドル"のシーケンスがスペースなしで切り取られたと思う。 –
あなたが担当していることをエディタに伝える必要があります。 – Telemachus
あなたが特に問題を抱えていた部分を聞くのはうれしいことでした。
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文字クラス[の使用:上部テキストは標準入力から検索し、スペースで区切られた標準出力に見出さ すべての略語を、書き込みする読み取り
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";
}
#!/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
:]は、一致します すべて大文字だけでなく、英語のもの(AZ)。
先頭と末尾に '\ b'を置きます。 –
良いアイデア、私は私の答えを更新しました。 –
- 1. Perlを使用してパスからファイル名を抽出するにはどうすればよいですか?
- 2. TarsosDSPを使用してファイルからMFCCデータを抽出するにはどうすればよいですか?
- 3. PerlでHTMLファイルからリンクを抽出するにはどうすればよいですか?
- 4. PerlでPDFファイルからフォントを抽出するにはどうすればよいですか?
- 5. (DirectShowを使用して)ビデオからフレームを抽出するにはどうすればよいですか?
- 6. hpricotを使用してハイパーリンクからURLを抽出するにはどうすればよいですか?
- 7. Postmanを使用してXMLから変数を抽出するにはどうすればよいですか?
- 8. JSoupを使用してウェブサイトから段落を抽出するにはどうすればよいですか?
- 9. directshowlib-2005を使用してビデオからフレームを抽出するにはどうすればよいですか?
- 10. C#を使用してSELECTタグからOPTIONSを抽出するにはどうすればよいですか?
- 11. .NETを使用してFoxProメモフィールドからデータを抽出するにはどうすればよいですか?
- 12. Python3.1を使用してHTMLページからデータを抽出するにはどうすればよいですか?
- 13. ジャスパーレポートのアーカイブから画像を抽出して使用するにはどうすればよいですか?
- 14. .STRACEファイルを使用して要求を抽出するにはどうすればよいですか?
- 15. PerlでMediaWiki :: APIからリダイレクトタイトルのリストを抽出するにはどうすればよいですか?
- 16. Perlマッチ演算子から変数にマッチを抽出するにはどうすればよいですか?
- 17. Perl:クエリ文字列からインナーページアンカーを抽出するにはどうすればよいですか?
- 18. Orange3でCSVファイルの列から頻出アイテムセットを抽出するにはどうすればよいですか?
- 19. インターフェイスIDを抽出して入力として使用するにはどうすればよいですか?
- 20. Perlを使用してCSVファイルを作成するにはどうすればよいですか?
- 21. Perlを使用してファイルをダウンロードするにはどうすればよいですか?
- 22. Perlを使用してファイル内の行を更新するにはどうすればよいですか?
- 23. HTML :: Parserを使用してタグ間でテキストを抽出するにはどうすればよいですか?
- 24. MySQLを使用してperlで接続プーリングを使用するにはどうすればよいですか?
- 25. 正規表現を使用してJavascript値を抽出するにはどうすればよいですか?
- 26. PerlMagickを使用してEXIFデータを抽出するにはどうすればよいですか?
- 27. SqlDataReaderを使用して値を抽出するにはどうすればよいですか?
- 28. ffmpegを使用してXing/LAMEフレームを抽出するにはどうすればよいですか?
- 29. RNetLogoを使用してエージェントセットを抽出するにはどうすればよいですか?
- 30. Jsoupを使用して本の著者を抽出するにはどうすればよいですか?
単語が省略形であるかどうかはどのように判断するのですか?あなたが得ることができるすべての略語を持つ別のファイルのように、またはあなたが照会することができるデータベースのような、ある種のデータベースがなければなりません。 – ghostdog74
nieveの実装では、2文字より長いすべての大文字の文字列を省略形として扱うことがあります。 –
もしも、5,6文字以上の長さであれば、それは略語であると疑うでしょうから、上限を追加します; – fortran