![텍스트에서 중국어 기호를 추출하는 방법](https://linux55.com/image/74157/%ED%85%8D%EC%8A%A4%ED%8A%B8%EC%97%90%EC%84%9C%20%EC%A4%91%EA%B5%AD%EC%96%B4%20%EA%B8%B0%ED%98%B8%EB%A5%BC%20%EC%B6%94%EC%B6%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
여기에 중국어 텍스트 기호를 게시할 수는 없지만 기본적으로 중국어 기호가 하나도 포함되지 않은 모든 줄을 제거하고 싶습니다.
어떻게 추출해야 다음과 같이 보이나요?
답변1
답변2
일치시키고 싶은 것은 다음 중 하나입니다.한자에 대한 유니코드 블록. 이는 유니코드 인식 콘텐츠를 사용한 다음 이러한 블록 중 하나에 속하는 문자가 포함된 모든 줄을 일치시켜야 함을 의미합니다.
불행하게도 grep
유니코드는 기본적으로 잘 지원되지 않는 것 같습니다. 그러나 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)))