Python 替换“\”字符两次替换功能

问题描述 投票:0回答:1

您好,有用于模糊搜索的文本,用户在其中提供文本,我稍后替换为用于正则表达式解析的字符

这是保存在configuration_blocks变量中的文本

邻居 10.1.(()).(())

这是代码:

configuration_blocks = [sub.replace("$", ".*").replace("(())", "\S+") for sub in configuration_blocks]

然而结果是 邻居 10.1.\ \S 带 2 个反斜杠

我怎样才能做到这一点只得到 1 个反斜杠

我也尝试写入 .txt 文件,它写为双斜杠 S

python python-3.x replace escaping
1个回答
-1
投票

如果您想在字符串中使用单个反斜杠,您需要将其转义为另一个反斜杠,例如 \。所以在你的代码中你这样做:

configuration_blocks = [sub.replace("$", ".*").replace("(())", "\S+") for sub in configuration_blocks]

您可能仍会在控制台中看到双反斜杠,但在正则表达式上下文中,它将表现为单反斜杠。

如果您想在控制台中将字符串视为单个反斜杠,请使用像这样的原始文本 (

r""
)

© www.soinside.com 2019 - 2024. All rights reserved.