我需要去掉字符串中的特定单词。如何从字符串中删除特定的单词?
但我发现python strip方法似乎无法识别有序的单词。只剥离传递给参数的任何字符。
例如:
>>> papa = "papa is a good man"
>>> app = "app is important"
>>> papa.lstrip('papa')
" is a good man"
>>> app.lstrip('papa')
" is important"
我怎么能剥夺与蟒蛇指定的字?
我需要去掉字符串中的特定单词。如何从字符串中删除特定的单词?
但我发现python strip方法似乎无法识别有序的单词。只剥离传递给参数的任何字符。
例如:
>>> papa = "papa is a good man"
>>> app = "app is important"
>>> papa.lstrip('papa')
" is a good man"
>>> app.lstrip('papa')
" is important"
我怎么能剥夺与蟒蛇指定的字?
使用str.replace
。
>>> papa.replace('papa', '')
' is a good man'
>>> app.replace('papa', '')
'app is important'
或者使用re
并使用正则表达式。这将允许删除前导/尾随空格。
>>> import re
>>> papa = 'papa is a good man'
>>> app = 'app is important'
>>> papa3 = 'papa is a papa, and papa'
>>>
>>> patt = re.compile('(\s*)papa(\s*)')
>>> patt.sub('\\1mama\\2', papa)
'mama is a good man'
>>> patt.sub('\\1mama\\2', papa3)
'mama is a mama, and mama'
>>> patt.sub('', papa3)
'is a, and'
尝试'打印“爸爸是爸爸是爸爸”.replace('爸爸','')' – thefourtheye
分心,didn' t完成了使用're'的例子,这将允许删除前导/尾随空格。 – metatoaster
这个问题并不清楚。 :( – thefourtheye
最简单的方法是简单地用空字符串替换它。
s = s.replace('papa', '')
您可能还想在papa之后添加空格 - 我假设他不希望字符串中留有前导空格。 –
尝试'打印“爸爸是爸爸是爸爸”.replace('爸爸','')' – thefourtheye
您还可以使用与re.sub
一个正则表达式:
article_title_str = re.sub(r'(\s?-?\|?\s?Times of India|\s?-?\|?\s?the Times of India|\s?-?\|?\s+?Gadgets No'',
article_title_str, flags=re.IGNORECASE)
提供你知道开始和你想的字符数组中,以取代每个单词的末尾的索引值,如果您只是想要取代特定的数据块,你可以这样做。
>>> s = "papa is papa is papa"
>>> s = s[:8]+s[8:13].replace("papa", "mama")+s[13:]
>>> print(s)
papa is mama is papa
或者,如果您还希望保留原始数据结构,则可以将其存储在字典中。
>>> bin = {}
>>> s = "papa is papa is papa"
>>> bin["0"] = s
>>> s = s[:8]+s[8:13].replace("papa", "mama")+s[13:]
>>> print(bin["0"])
papa is papa is papa
>>> print(s)
papa is mama is papa
你看过“S.lstrip”的文档吗?它做了与你想要做的完全不同的事情。你想把这个字符串替换成什么都没有。 –
你想要发生什么“番木瓜”这个词? – DSM
@DSM我猜输出应该是'ya'。让我们等待OP确认 – thefourtheye