Skip to main content
 首页 » 编程设计

python之替代多个正则表达式以替换 Python 中的已知单词

2025年05月04日34lyj

在 Python 3 中,我有字符串“up2 left5 right4 down2”。我希望将其转换为“u2 l5 r4 d2”,保留数字。这样做最有效的方法是什么?我想有比 4 个正则表达式更好的方法。

唯一可能的词是“上”“下”“左”和“右”,数字可以是 0 到 999 之间的任何数字。如何用 1 个字符的缩写有效地替换这 4 个词?

请您参考如下方法:

for t in (('up', 'u'), ('down','d'), ('left','l'), ('right', 'r')): 
   mystring = mystring.replace(*t) 

或者,利用单词的替换始终是其第一个字母这一事实:

for word in ('up','down','left','right'): 
    mystring = mystring.replace(word, word[0])