Python解析拉丁字母文本

2024-09-28 17:24:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有几串文本包含混合字符:缅甸字母,拉丁字母,数字。我需要能够将文本分成不同的类别。下面是一个例子:

အေရာင္ဆန္းဆန္းေလး ေတြ ပါတဲ့ Enhancing Eyes shawdow palette ေလးပါ ။ 
Price - 17000 ks. Call 625555555

我可以用regex识别数字

^{pr2}$

但我不知道怎么把这两个字母分开。结果不需要前后一致——我只需要两个独立的转储,一个缅甸语和一个英语串。有人对如何识别这个问题有什么建议吗?在


Tags: 文本字母数字call字符类别price例子
2条回答

似乎你想要下面这样的输出。在

>>> import re
>>> s = '''အေရာင္ဆန္းဆန္းေလး ေတြ ပါတဲ့ Enhancing Eyes shawdow palette ေလးပါ ။ 
Price - 17000 ks. Call 625555555'''
>>> re.findall(r'\d+|[^A-Za-z]+|[A-Za-z\s]+', s)
['အေရာင္ဆန္းဆန္းေလး ေတြ ပါတဲ့ ', 'Enhancing Eyes shawdow palette ', 'ေလးပါ ။ \n', 'Price ', '- 17000 ', 'ks', '. ', 'Call ', '625555555']

比如说:

import re
teststring = """အေရာင္ဆန္းဆန္းေလး ေတြ ပါတဲ့ Enhancing Eyes shawdow palette ေလးပါ ။ 
Price - 17000 ks. Call 625555555"""

Numbers = re.findall("\d+", teststring)
Latin = re.findall("[A-Za-z]+", teststring)
Burmese = re.findall("[^A-Za-z0-9 ]+", teststring)
print Numbers, Latin,
print Burmese

相关问题 更多 >