def word_reverse_text(input_text, lang='cn'): | |
if lang == 'cn': | |
user_text = input_text[::-1] | |
else: | |
words = input_text.split() | |
words.reverse() | |
user_text = ' '.join(words) | |
return user_text | |
def count_words(text: str, contain_punctuation: bool = False): | |
chinese_words = [] | |
english_words = [] | |
other_words = [] | |
temp_english_words = [] | |
for char in text: | |
if '\u4e00' <= char <= '\u9fff': | |
chinese_words.append(char) | |
if len(temp_english_words) > 0: | |
english_words.append(''.join(temp_english_words)) | |
temp_english_words = [] | |
else: | |
if char.isalpha(): | |
temp_english_words.append(char) | |
else: | |
if len(temp_english_words) > 0: | |
english_words.append(''.join(temp_english_words)) | |
temp_english_words = [] | |
other_words.append(char) | |
if contain_punctuation: | |
return len(chinese_words) + len(english_words) + len(other_words) | |
else: | |
return len(chinese_words) + len(english_words) | |