在Python中,如何编写字符串=”呢\s";?

在Python中,如何编写字符串=”呢\s";?,python,regex,string,escaping,Python,Regex,String,Escaping,为什么: B = "The" + "\s" 及 产量: "The\\s" 是否可以写入上述内容,以便输出字符串为: "The\s" 关于反斜杠的问题、反斜杠转义的属性以及Python中正则表达式字符的解释,我都读过类似的问题 这是否意味着没有办法写出我想要的 如果有用,我的最终目标是编写一个程序,将空格(\s)的正则表达式添加到字符串中,其中该空格: 例如,从以下内容开始: A = "The Cat and Dog" 应用该功能后,将变为: B = "The\sCat\sand\sD

为什么:

B = "The" + "\s"

产量:

"The\\s"
是否可以写入上述内容,以便输出字符串为:

"The\s"
关于反斜杠的问题、反斜杠转义的属性以及Python中正则表达式字符的解释,我都读过类似的问题

这是否意味着没有办法写出我想要的

如果有用,我的最终目标是编写一个程序,将空格(\s)的正则表达式添加到字符串中,其中该空格:

例如,从以下内容开始:

A = "The Cat and Dog"
应用该功能后,将变为:

B = "The\sCat\sand\sDog"
您必须退出
“\”

请参见转义序列部分:

我相信这与另一个有关

字符串的表示形式和它实际包含的内容可能有所不同

注意:

>>> B = "The" + "\s"
>>> B
'The\\s'
>>> print B
The\s
此外

>>> A = "The Cat and Dog"
>>> B = str.replace(A, ' ', '\s')
>>> B
'The\\sCat\\sand\\sDog'
>>> print B
The\sCat\sand\sDog
发件人:

字符串中所有未识别的转义序列保持不变,即结果中保留反斜杠


因此,虽然
\s
不是一个正确的转义序列,但Python会原谅您的错误,并将反斜杠视为已正确转义为
\
。但当您查看字符串的表示形式时,它会显示正确转义的反斜杠。也就是说,字符串只包含一个反斜杠。只有表示法将其显示为带有两个转义序列。

B=“the”+“\\s”
?对于函数:
B=s.replace(“,“\\s”)
也给出了'the\\s'
B=A.replace('''''\s')
B=A.replace('''''\\s')
是等价的,而
B
是您想要的正则表达式。这仍然会产生:“the\\s”在空闲状态下尝试一下,您会看到。@emKaroly Python 2.0从15年前就已经过时了,我不会链接到它。正如Stefan Pochmann解释的,这里没有必要转义反斜杠,因为
\s
不是Python字符串转义序列(尽管它是Python“re”模块regex转义序列)。但是更清楚的是,要么转义它,要么使用原始字符串。@StefanPochmann你是对的:)我链接了一个较新的文档。你忘记了
B=str.replace(a,,,'\s'
.OTOH,
B=a.replace(''''.\s')
更惯用,尽管我可能会把它写成
B=a.replace('''.\\s'))
B=A.replace('',r'\s')
为了明确替换字符串包含两个字符-一个反斜杠和一个
's'
。哎呀……我会更正右大括号,但是是的,您的替换更好谢谢您帮助突出显示您在字符串中编写的内容与Python解释字符串的方式之间的差异。看来我完全可以做到这一点我需要这些信息。谢谢:)
>>> B = "The" + "\s"
>>> B
'The\\s'
>>> print B
The\s
>>> A = "The Cat and Dog"
>>> B = str.replace(A, ' ', '\s')
>>> B
'The\\sCat\\sand\\sDog'
>>> print B
The\sCat\sand\sDog