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



我正在尝试编写一个程序,该程序检查行/句子中泰米尔字符的出现。我写了一个代码,它检查字符是否存在于行中,如果是,退出不检查第二次或第三次出现。代码如下:(我已经把单词分成了字符,所以我用"word"来检查)。

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

输入文件"input"有:

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

当前输出为:

count:6

但是输出应该是:

count:7

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

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

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

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

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

$ pip install open-tamil

用法如下:

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

最新更新