繁体   English   中英

从Unicode字符串中提取数字

[英]Extract a digit from a unicode string

我有一个unicode字符串:

u'123 456 \u0320\u0111\u0333 '

从中提取数字的最佳方法是什么?

您可以使用re.findall函数。

>>> s = u'123 456 \u0320\u0111\u0333 '
>>> re.findall(r'\d+', s)
['123', '456']

要么

>>> [i for i in s.split() if i.isdigit()]
['123', '456']

尝试使用过滤器功能:

在Python 2. *中:

>>> filter(lambda x: x.isdigit(), u'123 456 \u0320\u0111\u0333 ')
'123456'

在Python 3. *中:

>>> ''.join(filter(lambda x: x.isdigit(), u'123 456 \u0320\u0111\u0333 '))
'123456'
import re
s = u'123 456 \u0320\u0111\u0333 '
" ".join(re.findall('\d+', s))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM