Python字符串表示中的特殊字符

2024-04-26 20:46:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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中的_*)

我应该怎么做才能得到正确的字符串?你知道吗


Tags: 字符串nameanreducecolair事情temp
1条回答
网友
1楼 · 发布于 2024-04-26 20:46:48

('_**', '=')放在('*_', '(')之前,因为匹配的字符越多,优先级越高。你知道吗

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

输出

'AN(Gen=Air Outlet.Temp'

相关问题 更多 >