我希望能够从一段文本中提取字母的类型和数量,其中字母可以按任何顺序排列。我还在进行其他一些解析,但这一点让我很困惑!
input -> result
"abc" -> [['a',1], ['b',1],['c',1]]
"bbbc" -> [['b',3],['c',1]]
"cccaa" -> [['a',2],['c',3]]
我可以使用搜索或扫描并重复每个可能的字母,但是有没有一种干净的方法呢?
据我所知:
from pyparsing import *
def handleStuff(string, location, tokens):
return [tokens[0][0], len(tokens[0])]
stype = Word("abc").setParseAction(handleStuff)
section = ZeroOrMore(stype("stype"))
print section.parseString("abc").dump()
print section.parseString("aabcc").dump()
print section.parseString("bbaaa").dump()