テキストから中国語記号を抽出する方法

テキストから中国語記号を抽出する方法

ここに中国語のテキスト記号を公開することはできませんが、基本的に中国語記号が1つも含まれていないすべての行を削除したいと思います。

http://pastebin.com/au8zeATC

どのように抽出する必要がありますか?

http://pastebin.com/5YPvzGJT

答え1

データをファイルに入れて、次をdata実行します。

perl -CSD -lne 'print if /\p{Han}/' data

また見なさい:

答え2

一致させたいのは次のいずれかです。漢字のUnicodeブロック。これは、Unicode対応コンテンツを使用してから、これらのブロックのいずれかに属する文字を含むすべての行を一致させる必要があることを意味します。

残念ながら、grepUnicodeは基本的にうまくサポートされていないようです。ただし、Python 3では可能であるため、Python 3がある場合は、次のスクリプトがニーズに適しています。

import sys

sys.stdout.write("".join( 
   line for line in sys.stdin.readlines()
   if any(    0x4e00 <= ord(ch) <=  0x9fd5    # CJK Unified Ideographs
          or  0x3400 <= ord(ch) <=  0x4dbf    # CJK Unified Ideographs Extension A
          or 0x20000 <= ord(ch) <= 0x2a6d6    # Extension B
          or 0x2a700 <= ord(ch) <= 0x2b73c    # Extension C
          or 0x2b740 <= ord(ch) <= 0x2b81d    # Extension D
          or 0x2b820 <= ord(ch) <= 0x2cea1    # Extension E
          for ch in line)))

関連情報