我试图使用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)时,它正在替换NOUNcontent的两个实例。我只想替换第一个,不影响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/

10-10 02:30