Browse Source

feat: chinese sentence check

master
Dnomd343 2 years ago
parent
commit
526820bf23
  1. 39
      src/character/chinese.py

39
src/character/chinese.py

@ -1,6 +1,14 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from enum import Enum
class Chinese:
OK = 'simplified' # simplified chinese
WARN = 'traditional' # traditional chinese
ERROR = 'unknown' # unknown character
def is_traditional(character: str) -> bool: # whether character is traditional chinese
character = character[0]
try:
@ -19,14 +27,29 @@ def is_simplified(character: str) -> bool: # whether character is simplified ch
return True
def chinese_check(character: str) -> None:
def chinese_check(character: str) -> Chinese: # chinese character check
character = character[0]
print(character)
print('is_simplified ->', is_simplified(character))
print('is_traditional ->', is_traditional(character))
print()
if is_simplified(character): # simplified chinese case
return Chinese.OK
if is_traditional(character): # traditional chinese case
return Chinese.WARN
return Chinese.ERROR # unknown case
def sentence_check(sentence: str) -> (bool, str): # chinese sentence check
flag = False
characters = []
for character in sentence:
if chinese_check(character) == Chinese.OK: # normal case
characters.append(character)
elif chinese_check(character) == Chinese.WARN: # warning case
flag = True
characters.append('\033[0;33m%s\033[0;39m' % character)
else:
flag = True
characters.append('\033[0;31m%s\033[0;39m' % character) # error case
return not flag, ''.join(characters)
chinese_check('')
chinese_check('')
chinese_check('')
print(sentence_check('我們今天去吃飯了►►►太好吃了'))
print(sentence_check('测试成功OK'))

Loading…
Cancel
Save