我创建了一个小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
答案 0 :(得分:1)
非常简单:
没有空格但你需要一个空格。如果您的SOMETHING
或PERSON
只是英文字符或数字,那么您可以与之相处:
import re
def clean_sentence(my_text):
split_the_text = re.split(r'&\w+', my_text)
longest_sentence = max(split_the_text, key=len)
return longest_sentence
my_string = "一个神奇的鸭子飞在与&SOMETHING然后唱支歌给&PERSON"
print(clean_sentence(my_string))
# 一个神奇的鸭子飞在与