如何检查 Python 中的每个单词

How to check every word in Python

我想替换字符串中的单词。但我的问题是,当我想将 wordA 替换为 wordB 并将 wordB 替换为 wordA 时。它们相互替代。 我可以

line.split()

不过那样的话我就白输了-space。那么解决这个问题的正确方法应该是什么

分三步完成:

import re

my_string = "some words i other words oraz last words"
# choose some phrase that does not appear in the original string
temp = "##########"
# replace the word 'i' with that temp string
my_string = re.sub(r'\bi\b', temp, my_string)
# replace the word 'oraz' with 'i', like normal
my_string = re.sub(r'\boraz\b', 'i', my_string)
# replace the temp string with 'oraz'
my_string = re.sub(temp, 'oraz', my_string)

print(my_string)
# 'some words oraz other words i last words'

或者,如果您使用 lambda 作为替代,并且有条件地选择 return 'i''oraz',则可以在一个表达式中完成:

my_string = "some words i other words oraz last words"

my_string = re.sub(
    r'\b(i|oraz)\b', 
    lambda rg:'i' if rg.group(0) == 'oraz' else 'oraz', 
    my_string
)

print(my_string)
# 'some words oraz other words i last words'