在索引之间删除字符串的一部分

问题描述 投票:0回答:1

我必须编写一个函数,当给定一个字符串时,它会找到子串“ not”和“ bad”。如果“不好”之后是“不好”,则将整个“不” ...“不好”子字符串替换为“好”。例如:“这顿晚餐还不错!”产量:这顿晚餐很好!我尝试过:

def not_bad(s):
sub1='not'
sub2='bad'
if s.find(sub1) < s.find(sub2):
    s = s[0:int(s.find(sub1))]
    s= s + 'good'
    return s
else:
    return s

但是它最后没有产生感叹号。

python string python-2.7 replace indices
1个回答
0
投票

您可以在这里使用re

import re
s='This dinner is not that bad!'
re.sub(r'not \w+ bad','good',s)
# 'This dinner is good!'

[\w+-匹配任何单词字符(等于[a-zA-Z0-9_]

© www.soinside.com 2019 - 2024. All rights reserved.