text='I miss Wonderland #feeling sad @omg'
prefix=('#','@')
for line in text:
if line.startswith(prefix):
text=text.replace(line,'')
print(text)
输出应为:
'I miss Wonderland'
但我的输出是删除了前缀的原始字符串
答案 0 :(得分:1)
所以看来你实际上并不想要删除整个“字符串”或“行”,而是单词?然后你要将你的字符串分成单词:
words = test.split(' ')
现在遍历words
中的每个元素,对第一个字母执行检查。最后,将这些元素组合成一个字符串:
result = ""
for word in words:
if !word.startswith(prefix):
result += (word + " ")
答案 1 :(得分:0)
"members/0"
将迭代文本中的每个字符,而不是每个字。因此,当它for line in text
中的'#'
时,它将删除'#feeling'
,但#
将保留,因为该字符串中的其他任何字符都不以/开头'feeling'
或'#'
。您可以通过执行以下操作确认您的代码是逐字逐句的:
'#'
请尝试以下方法,在一行中进行过滤:
for line in text:
print(line)