加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何在python中逐个字符地拆分unicode字符串?

发布时间:2020-12-20 12:09:18 所属栏目:Python 来源:网络整理
导读:我的网站支持多种印度语言.用户可以动态更改语言.当用户输入一些字符串值时,我必须将字符串值拆分为单独的字符.所以,我正在寻找一种方法来编写一个适用于英语和一组精选印度语言的通用函数.我搜索过各个站点,但是,似乎没有通用的方法来处理这个要求.有特定于
我的网站支持多种印度语言.用户可以动态更改语言.当用户输入一些字符串值时,我必须将字符串值拆分为单独的字符.所以,我正在寻找一种方法来编写一个适用于英语和一组精选印度语言的通用函数.我搜索过各个站点,但是,似乎没有通用的方法来处理这个要求.有特定于语言的实现(例如,泰米尔语的Open-Tamil包实现了get_letters)但我找不到一种常见的方法来分割或迭代unicode字符串中的字符,并考虑字形.

我尝试过的众多方法之一:

name = u'?????'
print name
for i in list(name):
  print i

#expected output
?????
?
??
??

#actual output
?????
?
?
?
?
?

#Here is another an example using another Indian language
name = u'?????'
print name
for i in list(name):
  print i

#expected output
?????
???
??

#actual output
?????
?
?  
? 
?
?

解决方法

解决此问题的方法是将所有“L”类别字符与其后续的“M”类别字符分组:

>>> regex.findall(ur'p{L}p{M}*',name)
[u'u0ba4',u'u0baeu0bbf',u'u0bb4u0bcd']
>>> for c in regex.findall(ur'p{L}p{M}*',name):
...   print c
... 
?
??
??

regex

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读