如何在一行中搜索所有出现的泰米尔语字符?

时间:2014-05-25 12:04:10

标签: python python-2.7 tamil

我正在尝试编写一个程序来检查行/句子中泰米尔语字符的出现。我编写了一个代码,它检查该行中是否存在该字符,如果这样,则退出不会检查第二次或第三次出现。这是代码: (我已将单词拆分为字符,因此我正在检查"单词")。

    count=0
    word="ஆ"
    f=open('input','r')
    for line in f.readlines():
        if word in line:
            count=count+1
    print count
    f.close()

输入文件"输入"有:

   ஆ ன் டை ன்  
   ஆ ன் டை னி ன் 
   ஆ ன் டொ வி ன் 
   ஆ ன் ட் டா ல ஜி 
   எ ன் றி ஆ ன் 
   ஆ ன் ட் ட ன் ஆ

当前输出为:

count:6

但输出应为:

count:7

在最后一行中,它会检查它在开头是否存在的单词,然后退出。我希望它检查整行并计算所有出现次数。我该如何修改它?

2 个答案:

答案 0 :(得分:1)

目前,您只是检查角色是否在一行中,但不计算出现的次数。 有count方法可以做你想做的事:https://docs.python.org/2/library/stdtypes.html#str.count

>> 'hello world'.count('l')
3 

另外,正如Wooble在评论中已经指出的那样,在python2中使用非ascii字符时必须特别小心(他为您提供了所需的信息)。

答案 1 :(得分:0)

试用open-tamil库,您可以从pip安装

$ pip install open-tamil

以下是如何使用它:

import tamil
letters_list = tamil.utf8.get_tamil_letters( string_input )