Python 3.6 - 如何匹配for循环中的字符串?

时间:2017-12-08 15:55:51

标签: python string loops

我定义了一个函数,该函数计算字符串中XML标记的出现次数,即<></>。虽然我能够匹配&#39;字符串,我无法量化这些匹配数以返回数字count。这是我的功能:

def tag_count(the_string):
    count = 0
    for element in the_string:
        if '<>' in the_string:
            count += 1
            return count
        elif '</>' in the_string:
             count += 1
             return count

问题是,对于同时包含<></>的字符串,count应该返回这些标记匹配的次数,而我的函数只返回count因为elif条件而为1。我尝试在第3行插入and,但这给了我一个错误。如何将这些标签匹配的次数相加?

1 个答案:

答案 0 :(得分:4)

每次遇到标记时都会从函数返回,这就是为什么它始终为1.您还可以使用str.count()方法:

def tag_count(source):
    return source.count('<>') + source.count('</>')

使用示例:

>>> tag_count('<> <> </> <> <>')
5