是否有任何函数可以替换 python 字符串中的变量?
Is there any function to replace a variable in python string?
我正在使用 python 3,我只想使用高效且有效的单行代码来解决以下问题。
假设,我有一个词,它有多种组合。我想用高效的单行代码替换所有组合。
例如,
s2 = 'Hello Donald. DONALD is playing with his son. His son loves to play with donald'
s2.replace('Donald', 'John')
这仅替换 Donald 而不是 DONALD 和 donald.
如何替换[的所有组合(Donald、DONALD、donald) =28=]唐纳德 约翰。
更明确地说:
s3 = 'NO No nO no'
我可以用
s3.replace('NO', 'yes').replace('No', 'yes').replace('nO', 'yes').replace('no', 'yes')
但是,组合越多,替换功能就越多。
如何有效且高效地使用替换功能将所有组合 NO 替换为 yes.
data_str = "No NO nO no".upper().replace('NO', 'YES')
打印(data_str)
import re
re.sub("(?i)no","yes", "no No nO NO") # yes yes yes yes
您可以在不区分大小写的模式下使用regular expressions and in particular re.sub
:
import re
re.sub('donald', 'john', 'DoNalD duck', flags=re.I)
# john duck
如果您还想消除可能的重音符号 ÁÀÃÂÇÉÊÍÕÓÔÚáàãâçéêíõóôú
您可以首先 'normalize' 这个无正则表达式代码高尔夫示例中的字符 When I grow up I want to be ASCII.
然后继续制作所有字符 'upper' 或 'lower' 并替换所需的字符串元素。
我正在使用 python 3,我只想使用高效且有效的单行代码来解决以下问题。
假设,我有一个词,它有多种组合。我想用高效的单行代码替换所有组合。 例如,
s2 = 'Hello Donald. DONALD is playing with his son. His son loves to play with donald'
s2.replace('Donald', 'John')
这仅替换 Donald 而不是 DONALD 和 donald.
如何替换[的所有组合(Donald、DONALD、donald) =28=]唐纳德 约翰。
更明确地说:
s3 = 'NO No nO no'
我可以用
s3.replace('NO', 'yes').replace('No', 'yes').replace('nO', 'yes').replace('no', 'yes')
但是,组合越多,替换功能就越多。 如何有效且高效地使用替换功能将所有组合 NO 替换为 yes.
data_str = "No NO nO no".upper().replace('NO', 'YES')
打印(data_str)
import re
re.sub("(?i)no","yes", "no No nO NO") # yes yes yes yes
您可以在不区分大小写的模式下使用regular expressions and in particular re.sub
:
import re
re.sub('donald', 'john', 'DoNalD duck', flags=re.I)
# john duck
如果您还想消除可能的重音符号 ÁÀÃÂÇÉÊÍÕÓÔÚáàãâçéêíõóôú
您可以首先 'normalize' 这个无正则表达式代码高尔夫示例中的字符 When I grow up I want to be ASCII.
然后继续制作所有字符 'upper' 或 'lower' 并替换所需的字符串元素。