如何删除除最后一个句子之外的句子中的感叹号

时间:2017-01-25 17:26:19

标签: python python-2.7

嗨,我想这个标题就说明了一切。

例如,如果我有一个字符串,如:"The food! is great!!!"

我希望python将其更改为:"The food is great!"

提前谢谢大家。 :)

3 个答案:

答案 0 :(得分:2)

您可以使用前瞻性的正则表达式:

import re

re.sub(r'!+(?=.*\!)','',text)

正则表达式

!+(?=.*\!)
如果前瞻(?=.*\!)看到感叹号,

会匹配任何感叹号序列。所有这些惊叹号都是sub由空字符串构成。

$ python2
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> text="The food! is great!!!"
>>> re.sub(r'!+(?=.*\!)','',text)
'The food is great!'

答案 1 :(得分:2)

strs="The food! is great!!!"
count=strs.count("!")-1
strs = strs.replace('!','',count)
print strs

https://stackoverflow.com/a/16268024/6626530

输出

The food is great!

答案 2 :(得分:-1)

替换所有'!'在''的字符串中。然后string = string +'!'

string.replace('!','')
string = string + '!'