gpt4 book ai didi

python - 在 re.sub 替换模式中处理对捕获组的反向引用

转载 作者:IT老高 更新时间:2023-10-28 21:43:41 30 4
gpt4 key购买 nike

我想获取字符串 0.71331, 52.25378 并返回 0.71331,52.25378 - 即只查找一个数字、一个逗号、一个空格和一个数字,然后剥离出空间。

这是我当前的代码:

coords = '0.71331, 52.25378'
coord_re = re.sub("(\d), (\d)", "\1,\2", coords)
print coord_re

但这给了我 0.7133,2.25378。我做错了什么?

最佳答案

您应该对正则表达式使用原始字符串,请尝试以下操作:

coord_re = re.sub(r"(\d), (\d)", r"\1,\2", coords)

使用您当前的代码,替换字符串中的反斜杠正在转义数字,因此您将替换所有与 chr(1) + ","+ chr(2) 等效的匹配项:

>>> '\1,\2'
'\x01,\x02'
>>> print '\1,\2'
,
>>> print r'\1,\2' # this is what you actually want
\1,\2

任何时候您想在字符串中保留反斜杠,使用 r 前缀,或转义每个反斜杠 (\\1,\\2)。

关于python - 在 re.sub 替换模式中处理对捕获组的反向引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8157267/

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