[英]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.