我试图使用regex替换字符串中特定单词的一个实例,其中需要替换的单词至少出现两次。例如,我有以下内容:The NOUN is ADJECTIVE and is completely different from the NOUN.
到目前为止我有:
content = 'The NOUN is ADJECTIVE and is completely different from the NOUN.'
noun = input('Enter a noun: ')
adj = input('Enter an adjective: ')
noun_1 = input('Enter another noun: ')
names_regex_noun = re.compile(r'NOUN')
content = names_regex_noun.sub(noun, content)
names_regex_adj = re.compile(r'ADJECTIVE')
content = names_regex_adj.sub(adj, content)
names_regex_noun_1 = re.compile(r'NOUN')
content = names_regex_noun_1.sub(noun_1, content)
print(content)
我遇到的问题是,当使用
names_regex_noun.sub(noun, content)
时,它正在替换NOUN
中content
的两个实例。我只想替换第一个,不影响NOUN
的第二个实例,以便可以用noun_1
替换它。 最佳答案
x="abc abc abc"
print re.sub(r"abc\s*","",x,count=1)
输出:
abc abc
re.sub(pattern, repl, string, count=0, flags=0)`
use `count=1`
关于python - 正则表达式:仅替换一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34715067/