[英]ignoring backslash character in python
我覺得這個有點棘手。
如果我有:
a = "fwd"
b = "\fwd"
我怎么能忽略"\\"
這樣的東西
print(a in b)
可以評估為真?
b
你沒有fwd
。 你有一個wd
,前面是ASCII碼點0C,FORM FEED字符 。 當你在常規字符串文字中使用\\f
轉義序列時,這就是Python所放置的值。
如果要包含反斜杠或使用原始字符串文字,請將反斜杠加倍:
b = '\\fwd'
b = r'\fwd'
現在a in b
works:
>>> 'fwd' in '\\fwd'
True
>>> 'fwd' in r'\fwd'
True
請參閱字符串文字文檔 :
除非存在
'r'
或'R'
前綴,否則字符串中的轉義序列將根據與標准C使用的規則類似的規則進行解釋。已識別的轉義序列為:[...]
\\f
ASCII Formfeed(FF)
使用原始字符串執行此操作的一種方法:
>>> a = "fwd"
>>> b = "\fwd"
>>> a in b
False
>>> a = r"fwd"
>>> b = r"\fwd"
>>> a in b
True
相關文檔
你需要“逃避”反斜杠,如:
b = '\\fwd'
否則,它將單個反斜杠+ f作為ASCII字符(換頁)讀取。
這是一個例子。
>>> a='fwd'
>>> b='\fwd'
>>> c='\\fwd'
>>> a in b
False
>>> a in c
True
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.