1
我創建了一個小型python函數,用於從用中文書寫的字符串中刪除一些不需要的元素。 那些不需要的元素在開頭處帶有&符號(& Something)。 該函數使用正則表達式來識別它們,將它們移除並返回字符串中最長的一部分,但沒有這些不需要的元素,但由於某些原因,它不能按預期工作。 我測試了其他語言和字母表中的字符串函數,它按預期工作。正則表達式在中文文本上使用時不起作用
# -*- coding: utf-8 -*-
import re
def clean_sentence(my_text):
split_the_text = re.split(r'([&].*?\s)', my_text)
longest_sentence = max(split_the_text, key=len)
return longest_sentence
my_string = "一個神奇的鴨子飛在與&SOMETHING然後唱支歌給&PERSON"
print clean_sentence(my_string)
這是輸出:
õ©Çõ©¬þÑ×ÕÑçþÜäÚ©¡Õ¡ÉÚú×Õ£¿õ©Ä&SOMETHINGþäÂÕÉÄÕö▒µö»µ¡îþ╗Ö&PERSON
那麼什麼*不*發生?你預期會發生什麼? –
另外,你的例子會拋出一個名稱錯誤:'split_the_copy'沒有設置。 'my_string'是一個字節串;使用什麼編解碼器來編碼文本可能很重要;也許你可以給我們'print repr(my_string)'輸出,所以我們可以更好地確定它包含哪些字節。 –
我真的很抱歉,我解決了! 關於目標:字符串應返回字符串中最長的部分,而不包含那些不需要的元素。 – fghersi