2012-11-17 162 views
4

我在Python中編寫了一個非常簡單的搜索引擎,並且必須使用HTML代碼創建一個帶有表格的HTML頁面。這是我給使用代碼:在變量中包含引號

<html> 
<title>Search Findings</title> 
<body> 
<h2><p align=center>Search for "rental car"</h2> 
<p align=center> 
<table border> 
<tr><th>Hit<th>URL</tr> 
<tr><td><b>rental car</b> service<td> <a href="http://www.facebook.com">http://www.avis.com</a></tr> 
</table> 
</body> 
</html> 

這看起來Python的文件的罰款之外,但我需要更換汽車租賃與變量關鍵字。當我嘗試將以<h2>開頭的行作爲變量存儲以便使用.replace方法時,會出現問題。 Python由於中間的引用而感覺到語法錯誤。有沒有辦法將這個變量存儲爲變量?或者還有另外一種方法可以替代這些詞嗎?

回答

5

用一個反斜槓逃逸,或使用一個單引號字符串,或使用"""長塊:

s = '<h2><p align=center>Search for "rental car"</h2>' 
s = "<h2><p align=center>Search for \"rental car\"</h2>" 
s = """ 
<p>This is a <em>long</em> block!</p> 
<h2><p align=center>Search for "rental car"</h2> 
<p>It's got <strong>lots</strong> of lines, and many "variable" quotation marks.</p> 
""" 
0

這就是像PHP和Python,單引號字符串之間的互換性語言的很大一部分雙引號字符串,只要內部引號與外部引號相反即可。更重要的是,Python在兩者之間進行切換時,並不會改變escape的工作方式。但是,對於PHP,單引號字符串不會處理單引號和反斜線以外的轉義。例如:

output = '<h2><p align=center>Search for "' + search + '"</h2>' 
output = "<h2><p align=center>Search for \"" + search + "\"</h2>" 

長塊字符串不能用於連接,您將需要使用.replace(),這比串接更昂貴。