data = ['ID:123 GE:m FN:Amir LN:Maleki MN:0400101010 EM:a@b.c ST:VIC',
' ID:b22 EM:b@d.c ST:VIC GE:F FN:Miniyi LN:Li MN:0430101210 MN:0432101215',
' ID:153 GE:m FN:John LN:Liu MN:040181010 ST:NSW EM:d@b.c']
我想知道如何计算有多少只包含数字的ID。我需要把这个列表转换成字典吗?还是有更简单的方法?你知道吗
谢谢
Tags:
我觉得正则表达式有点过分了。以下是基于
split
的解决方案:您可以使用正则表达式,例如regex
\bID:\d+\b
将匹配ID字段,后跟一个纯数字值,直到下一个单词边界\b
。只需过滤那些匹配正则表达式的。你知道吗或者,如果您只想计数,可以使用
sum
:每当您试图查找某个对象的实例数时,您的基准就是使用正则表达式或regex。你知道吗
对于您的特定示例,似乎可以使用regex
id:\d\d\d
re.findall
将获得所有匹配项 而且len(re.findall)
会得到匹配的数量我遗漏了一个全面的解决方案,所以你可以自己试试。正则表达式对于所有语言中的模式匹配都很有用。如果您熟悉某些库或方法,可能有一种更快/更简单的方法,但regex始终是模式匹配的可靠方法。你知道吗
相关问题 更多 >
编程相关推荐