我正在尝试解决从字符串中删除HTML标记的问题。我意识到正则表达式是一个更好的解决方案,但我想弄清楚这里出了什么问题。
我们的想法是假设我们使用'tag'监视标记,并通过比较每个char的值来修改它的值。
问题是,tag的值永远不会改变:
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'没有被分配给标记。
答案 0 :(得分:9)
这些行是比较,而不是作业:
tag == True
tag == False
你想要
tag = True