如何测试\符号(反斜杠)是否在字符串中?
答
原始文字不完全生。文件的有关段落是在https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals最底部,就在接下来的一节(“字符串字面串联”)开始:
即使在原始文字,引号可以用反斜杠进行转义,但反斜线仍然在结果中;例如,
r"\""
是由两个字符组成的有效字符串文字:反斜杠和双引号;r"\"
不是有效的字符串字面值(即使原始字符串不能以奇数个反斜杠结尾)。具体而言,原始文字不能以单个反斜杠结尾(因为反斜杠会转义下面的引号字符)。还要注意的是,一个反斜杠后跟一个换行符被解释为这两个字符作为文字的一部分,而不是作为续行。
(重点在原创。)
所以,你可以写r"\\"
并获得含反斜杠一个字符串,你可以写r"\""
并获得包含一个反斜杠和一个双引号字符的字符串,但是如果你想要一个包含的字符串,只需要一个反斜杠,那么你不能用原始文本来完成。您需要改为编写"\\"
。
答
使用此:
"\\"
也就是说,一个转义反斜杠,而不是逃脱报价。
答
你正在努力逃避字符。
因为\
是你逃跑的转义字符它意味着“这个角色”,而不是“什么下面将进行转义”。
if '\\' in 'foo\\':
答
if "\\" in text
这应该工作,你只需要逃避它
'if r“\\”in text' –
特殊字符需要转义。 – GhostCat
下次您提出问题时,请确保您显示了您获得的错误类型,并且提供了重现错误的最低代码。请参阅https://stackoverflow.com/help/how-to-ask和https://stackoverflow.com/help/mcve – Antonio