如何在python中通过charcter遍历unicode tamil单词字符?

时间:2014-05-29 05:59:03

标签: python regex python-2.7 tamil

我想知道Unicode字符串(泰米尔语)中有多少个字符,然后检查字符1和字符2是否存在特定事件。
我可以将单词拆分为字符,但我不知道如何使用单词长度逐个字符遍历它们。

  

示例:word:"எஃகு"。
  它应该不返回3个字符,我应该能够将字[0]打印为'எ',将字[1]打印为'ஃ'和单词[2]为'கு'。

我想检查一下:

    if word[0] is a vowel:
        if word[1] is "ஃ":
           then print word[0]+word[1]+word[3] (as எஃகு)
        else:
           print word[0] 

我想在没有字符的情况下遍历,如果no.of.char是3,那么i = 0应该帮助我处理'எ'。
我看到很多与Unicode字符处理和长度处理有关的问题。但它们都返回字节长度或给出不同的结果。所以很困惑。

我用于按字符划分它们的代码:

    for line in f.readlines():
       letters = utf8.get_letters(line)
       for letter in letters:
          ff.write(unicode(letter))
          ff.write(' ')

示例输入文件:

  

அன்று
  அதாவது
  அஃதான்று

示例输出文件:

  

அன்று
  அதாவது。   அஃதான்று

1 个答案:

答案 0 :(得分:3)

from tamil import utf8
string = u"எஃகு"
letters = utf8.get_letters(string)
print(len(letters))
# 3. Not 4. 3.
print letters
# [u'\u0b8e', u'\u0b83', u'\u0b95\u0bc1']
for letter in letters:
    print letter
# எ
# ஃ
# கு