我觉得这个有点棘手.
如果我有:
a = "fwd"
b = "\fwd"
Run Code Online (Sandbox Code Playgroud)
我怎么能忽略"\"这样的东西呢
print(a in b)
Run Code Online (Sandbox Code Playgroud)
可以评估为真?
Mar*_*ers 11
你不必fwd在b.wd在ASCII代码点0C之前,您有FORM FEED字符.当你\f在常规字符串文字中使用转义序列时,这就是Python放在那里的值.
如果要包含反斜杠或使用原始字符串文字,请将反斜杠加倍:
b = '\\fwd'
b = r'\fwd'
Run Code Online (Sandbox Code Playgroud)
现在a in b有效:
>>> 'fwd' in '\\fwd'
True
>>> 'fwd' in r'\fwd'
True
Run Code Online (Sandbox Code Playgroud)
请参阅字符串文字文档:
除非存在
'r'或'R'前缀,否则字符串中的转义序列将根据与标准C使用的规则类似的规则进行解释.已识别的转义序列为:[...]
\fASCII Formfeed(FF)
使用原始字符串执行此操作的一种方法:
>>> a = "fwd"
>>> b = "\fwd"
>>> a in b
False
>>> a = r"fwd"
>>> b = r"\fwd"
>>> a in b
True
Run Code Online (Sandbox Code Playgroud)
相关文档