【发布时间】:2014-07-18 13:34:05
【问题描述】:
我想知道 Unicode 字符串(泰米尔语)中有多少个字符,然后检查字符 1 和字符 2 是否有特定的出现。
我可以将单词拆分为字符,但我不知道如何使用单词长度逐个字符地遍历它们。
示例:单词:“எஃகு”。
它应该返回没有字符为 3,并且我应该能够将 word[0] 打印为“எ”,将 word[1] 打印为“ஃ”,将 word[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 characters 进行遍历,如果 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(' ')
示例输入文件:
அன்று
அதாவது
அஃதான்று
示例输出文件:
அன்று
அ தா வ து
அ ஃ தா ன் று
【问题讨论】:
-
您的字符串是
unicode对象还是str对象?你能举一个你有的创建/操作这样一个字符串的代码的例子吗? -
值得注意的是,
"எஃகு"中有四个 Unicode 代码点,而不是三个。您可以使用list("எஃகு")将它们拆分为一个列表(如果您使用的是 Python 3),您将获得['எ', 'ஃ', 'க', 'ு'] -
@BrenBarn 我已经给出了示例输入文件。
-
我对泰米尔语一无所知,但是...
l = tamil.utf8.get_letters(str)不会返回字母列表吗?您可以使用l[0]、l[1]、l[2]解决吗?len(l)的字符数?
标签: python regex python-2.7 tamil