Skip to content
Advertisement

How to strip a specific word from a string?

I need to strip a specific word from a string.

But I find python strip method seems can’t recognize an ordered word. The just strip off any characters passed to the parameter.

For example:

>>> papa = "papa is a good man"
>>> app = "app is important"
>>> papa.lstrip('papa')
" is a good man"
>>> app.lstrip('papa')
" is important"

How could I strip a specified word with python?

Advertisement

Answer

Use str.replace.

>>> papa.replace('papa', '')
' is a good man'
>>> app.replace('papa', '')
'app is important'

Alternatively use re and use regular expressions. This will allow the removal of leading/trailing spaces.

>>> 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'
User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement