python字符计数请帮助我,我是一个菜鸟

时间:2012-07-29 01:23:04

标签: python

嗨那些对python有点麻烦的家伙我试图计算一行中某一组字符出现多少次,无论如何我可以计算它但是它算得上4即。

a = raw_input('insert pirate bob speak line line 1 - ')
b = raw_input('insert pirate bob speak line line 2 - ')
c = raw_input('insert pirate bob speak line line 3 - ')

我试图计算句子中有多少次rr,但只有当出现双重问题时,我才能使用 1.yarrrr harrr 的必要输入启动完整代码 我心痛 和一瓶rrrrum 它计算双重的数量我想知道有多少句子包含双r

1 个答案:

答案 0 :(得分:1)

如果您希望每行找到一个rr:

import re
myline = 'harrrr!'
matches = re.findall('(rr+)',myline)
if matches: 
    print "exactly",len(matches)," rr was found"

说明:

要了解有关正则表达式的更多信息,请键入     帮助(重)

这个特殊的正则表达式说: 搜索一行中包含两个或更多“r”

的所有组

如果要搜索rr-s但不搜索rrrs,请使用:

re.findall('(?:[^|[^r])(rr)(?:[^r]|$)', 'harrrarrr')

哪个稍微困难一些(搜索所有那些'rr',其前面是一个不是r的字符或者从那里开始的字符,后跟一个不是r的字符,或者该行结束那里,而不关心这些以下和前面的人物)

通常,您可以通过以下方式改善“控制流程”:

import re
while True: #forever or at least until break-[up], you know, love-style forever;)
    line = raw_input("Howdy? ")
    if line: # if the user actually typed in something
        matches = re.findall('(rr+)',line)
        if matches: 
            print "exactly",len(matches)," rr was found"
        else:
            print "you'rrre NOT a pirrate!"
    else:
        break #quit