gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 02:03:56 27 4
gpt4 key购买 nike

我在 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'

关于python - Python字符串中的特殊字符替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49265702/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com