簡體   English   中英

我怎樣才能得到一個帶有單個反斜杠的字符串?

[英]How can I get a string with a single backslash in it?

當我寫print('\')print("\")print("'\'")時, Python 不會打印反斜杠\符號。 相反,它對前兩個錯誤並為第三個打印'' 我應該怎么做才能打印反斜杠?


這個問題是關於生成一個包含單個反斜杠的字符串。 這特別棘手,因為它不能用原始字符串完成。 有關為什么這樣的字符串用兩個反斜杠表示的相關問題,請參閱為什么反斜杠出現兩次? . 要在其他字符串中包含文字反斜杠,請參閱using backslash in python (not to escape)

您需要通過在它前面加上另一個反斜杠來轉義反斜杠:

print("\\")

對於 Python 3 之前的版本:

print "\\"

\\字符稱為轉義字符,它以不同的方式解釋其后的字符。 例如, n本身只是一個字母,但是當您在它前面加上反斜杠時,它會變成\\n ,這是換行符

正如您可能猜到的, \\也需要進行轉義,因此它的功能不像轉義字符。 你必須……逃離逃離,本質上。

有關字符串文字,請參閱Python 3 文檔

另一個提示,如果您要完成比打印反沖更復雜的操作,則可以將字符串聲明為raw (在其前面帶有and r ),它將按原樣打印其所有字符:

>>> s = r'\abc\def'
>>> print s
'\abc\def'

這對於正則表達式很有用。 您可以在docs中找到更多信息

反斜杠需要用另一個反斜杠轉義。

print('\\')

你應該用另一個反斜杠\\轉義它:

print('\\')

打印不涉及轉義的反斜杠的一種hacky 方法是將其字符代碼傳遞給chr

>>> print(chr(92))
\

嘗試:

>>> s = r'Tea\coffee'
>>> s
'Tea\\coffee'
>>> print(s)
Tea\coffee
>>> print("\\")
\
>>> len("\\")
1
Uses of escape character:
>>> print "\\"
output : \
print 'he\'s pythonic'
output : he's pythonic
"\" helps python to understand that in 'he\'s pythonic' , ['he's] not eol ..

您可以這樣做:

backslash = "\\"
print(backslash)

\\

print(fr"\{''}")

或者這個怎​​么樣

print(r"\ "[0])

為了完整起見:反斜杠也可以轉義為十六進制序列: "\x5c" 或短 Unicode 序列: "\" 或長 Unicode 序列: "\U0000005c" 所有這些都會產生一個帶有單個反斜杠的字符串,Python 會很高興地以其規范表示形式向您報告 - '\\'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM