如何在 Python 中将 \' 替换为 '?
How to replace \' with ' in Python?
我需要清理文本,其中包含 \'
的序列
我想在保留单引号的同时删除反斜杠。我试图在反斜杠和引号之前放置反斜杠,但无济于事。对我有什么建议吗?
代码:
import re
samplestr="q\\'q"
print(samplestr)
samplestr=re.sub("\\'" , "\'",samplestr)
print(samplestr)
输出:
q\'q
q\'q
这有点令人困惑,因为您使用的是正则表达式。如果您使用常规 replace
,您的代码将按原样工作:
samplestr = "q\\'q"
print(samplestr) # q\'q
samplestr = samplestr.replace("\\'", "\'") # escape actually unnecessary for single quote
print(samplestr) # q'q
但是,当您使用 re.sub
时,第一个参数被视为 正则表达式模式 ,而不是字符串。所以它最终搜索 正则表达式模式 \'
的匹配项,这只是一个转义的撇号。要在正则表达式中包含文字反斜杠,您需要使用 \
.
为了更好的可读性,您应该以 r
开头来使用 Python raw string。然后您可以执行以下操作:
samplestr = re.sub(r"\'", "'", samplestr)
print(samplestr) # q'q
您不需要 regex
模块。
samplestr = "q\\'q"
samplestr.replace("\'", "'")
会完成任务的。 s.replace(a,b)
函数将在字符串 s
中用 b
替换任何出现的 character
/string
a
,即
a = 'asdfgghhfdaaaaaqwwweaaa'
a.replace('a','1')
输出:
'1sdfgghhfd11111qwwwe111'
在\
的情况下,你需要使用\
,因为它是一个转义字符。
我需要清理文本,其中包含 \'
的序列
我想在保留单引号的同时删除反斜杠。我试图在反斜杠和引号之前放置反斜杠,但无济于事。对我有什么建议吗?
代码:
import re
samplestr="q\\'q"
print(samplestr)
samplestr=re.sub("\\'" , "\'",samplestr)
print(samplestr)
输出:
q\'q
q\'q
这有点令人困惑,因为您使用的是正则表达式。如果您使用常规 replace
,您的代码将按原样工作:
samplestr = "q\\'q"
print(samplestr) # q\'q
samplestr = samplestr.replace("\\'", "\'") # escape actually unnecessary for single quote
print(samplestr) # q'q
但是,当您使用 re.sub
时,第一个参数被视为 正则表达式模式 ,而不是字符串。所以它最终搜索 正则表达式模式 \'
的匹配项,这只是一个转义的撇号。要在正则表达式中包含文字反斜杠,您需要使用 \
.
为了更好的可读性,您应该以 r
开头来使用 Python raw string。然后您可以执行以下操作:
samplestr = re.sub(r"\'", "'", samplestr)
print(samplestr) # q'q
您不需要 regex
模块。
samplestr = "q\\'q"
samplestr.replace("\'", "'")
会完成任务的。 s.replace(a,b)
函数将在字符串 s
中用 b
替换任何出现的 character
/string
a
,即
a = 'asdfgghhfdaaaaaqwwweaaa'
a.replace('a','1')
输出:
'1sdfgghhfd11111qwwwe111'
在\
的情况下,你需要使用\
,因为它是一个转义字符。