-2
我試圖解決從字符串中刪除HTML標記的問題。我意識到正則表達式是一個更好的解決方案,但我想弄清楚這裏出了什麼問題。使用If語句的布爾賦值
這個想法是假設我們使用'標記'來監視標記,並通過比較每個字符的值來修改它的值。
問題是,標籤的值永遠不會改變:
def remove_tag(s):
tag = True
for c in s:
print "c = %s" % c
if (c == '<'):
print 'start_tag'
tag == True
print tag
elif (c == '>'):
print 'end tag'
tag == False
print tag
運行:
remove_tag("<h1>Title</h1>")
產地:
c = <
start_tag
True
c = h
c = 1
c = >
end tag
True
c = T
c = i
c = t
c = l
c = e
c = <
start_tag
True
c =/
c = h
c = 1
c = >
end tag
True
None
我百思不得其解,爲什麼「結束標記'被打印,但'False'值不會被分配給標籤。
您不妨避開對SO ......使用與HTML正則表達式的主題;)HTTP ://stackoverflow.com/a/1732454/83109 – 2012-08-06 10:07:25