• ベストアンサー

perlを使って英文だけを取り出したい。(UTF-8の場合)

perlを使って英文だけを取り出したい。(UTF-8の場合) 下記perlは、UTF-8で記述されています。 この場合、$str1のように、英文が混じっています。 その中から、英語だけの文字を取り出すことは、できないでしょうか? もし、簡単なサブルーチンなどご存知でしたら教えてください。 宜しくお願い致します。 $str1 = "さま z a マ な mo じ が ハイ っ ています。"; $str2 = &omit($str1); sub omit{ } print "$str2"; 結果出力 --------- z a mo

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

sub omit{ my $str = shift ; $str =~ tr/a-zA-Z //cd;#英字以外は削除 $str =~ s/\s+/ /g;#スペースの縮約 return $str; }

ayaka19801201
質問者

お礼

ありがとうございます。 スペースの短縮まで教えてくださり、ありがとうございました!!

その他の回答 (1)

回答No.1

> 英語だけの文字 ascii 文字すべてなのか、その中でもアルファベットだけなのか、もしくは全角英(数)文字も含むのか、どうなのでしょう。

ayaka19801201
質問者

お礼

回答いただきありがとうございます。 言葉足らずで申し訳ありません。 #2さまの回答で解決いたしました。 色々改良して調整してみようと思っていますので、 もし、分からないときは、質問させていただきますので、 その折は、宜しくお願い致します。

関連するQ&A