繁体   English   中英

Python字符串替换中的特殊字符

[英]Special characters in Python string replace

我在python有一个字符串,我想替换该字符串中的任何特殊字符。

我已经完成如下

col_name = 'AN*_Gen_**Air_&Outlet_$Temp'

reps = (('_&', ' '), ('*_', '('), ('_*', ')'), ('#_', '{'), ('_#', '}'), ('_##', ';'), ('_$', '.'),
        ('_$$', ','), ('_**', '='))

original_cols = reduce(lambda a, kv: a.replace(*kv), reps, col_name)

输出:

'AN(Gen)*Air Outlet.Temp'

预期产量:

'AN(Gen=Air Outlet.Temp'

在这里我看到,在字符串中_**被首先被替换)*代替=_*reps)

我应该怎么做才能获得正确的字符串?

('_**', '=')放在('_**', '=') ('*_', '(')因为更多的字符匹配应该是更高的优先级。

reps = (('_**', '='), ('_&', ' '), ('*_', '('), ('_*', ')'), ('#_', '{'), ('_#', '}'), ('_##', ';'), ('_$', '.'),
        ('_$$', ','))

产量

'AN(Gen=Air Outlet.Temp'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM