python - 从文本文件中获取一定长度的所有数字的好方法

标签 python

我有一个文件,我想从中获取所有 6 位数字 (id),它们并不总是被空格包围,但它们不会触及其他数字(最大数字有 6 位)。文件中还有其他较小的无关数字。

我想出了这个解决方案,它按预期工作,但是我想知道是否有更优雅的方法

print [num for num in "".join([e if e in "0123456789, " else " "
       for e in whole_file ]).split() if len(num) == 6]

最佳答案

我会使用正则表达式进行匹配。

\D[\d]{6}\D

将精确匹配 6 位数字

\D    will match non-digit (whatever you have that separates your numbers)
\d    matches 0-9
{6}   means 6 times 

关于python - 从文本文件中获取一定长度的所有数字的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32333278/

相关文章:

python - 从 pandas 的列中的值获取特定数量的数据

javascript - Jquery submit() 没有将表单数据提交到我的 View

python - 空字符串 boolean 逻辑

python - 想要创建文件时 Lambda 和 S3 权限被拒绝

python - 从字符串列表中提取特定元素并创建一个新列表?

python - 如何在 Mac OS X 10.6 上为 Mac OS X 10.5 编译 python 扩展?

python - 根据外键函数过滤 Django GenericRelation

python - 通过 python SMTP 库发送邮件时,从 gmail header 中隐藏我的 IP 地址?

python - 在表单中创建新的外键

Python:按理解访问列表