我想确定字符串中所有类型的数字.
例:
a = 'I 0.34 -345 3/4 3% want to get -0.34 2018-09 all numbers'
结果:
['I', '_num', '_num', '_num', '_num', 'want', 'to', 'get', '_num', '_num', 'all', 'numbers']
这是一个nlp项目,我想知道是否有更好的方法来获得结果.
我可以列出所有类型,然后使用正则表达式,但这并不简洁,有人有好主意吗?
解决方法:
这里的列表理解非常简洁:
a = 'I 0.34 -345 3/4 3% want to get -0.34 2018-09 all numbers'
pattern = re.compile('\d')
result = ['_num' if re.search(pattern, word) else word for word in re.compile(' +').split(a)]
如果输入中的双精度空格(想要得到)是一个错字,那么您可以单独在一个空格上拆分,而不必使用正则表达式:
pattern = re.compile('\d')
result = ['_num' if re.search(pattern, word) else word for word in a.split(' ')]
结果:
['I', '_num', '_num', '_num', '_num', 'want', 'to', 'get', '_num', '_num', 'all', 'numbers']
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。