Skip to content

String

Handling unicode characters

from tamilstring.utf8 import *
utf8 modules provide some common methods

extract letters from str

from tamilstring.utf8 import get_letters
letter = get_letters("பூ")
print(letter)
string = get_letters("பன்மொழி")
print(string)

Output:

['பூ']
['ப', 'ன்', 'மொ', 'ழி']
get_letters helps to extract letters from string

remove_non_ta_en

from tamilstring.utf8 import  remove_non_ta_en
string1 = remove_non_ta_en("தைைமிாாழ்்ひらがな")
print(string1)
string2 = remove_non_ta_en("Hanzi汉字/漢字")
print(string2)
string3 = remove_non_ta_en("Hindiहिन्दी")
print(string3)
string4 = remove_non_ta_en("Tamilالتاميل")
print(string4)
string5 = remove_non_ta_en("Tamil,English")
print(string5)
string6 = remove_non_ta_en("تاميلی")
print(string6)

Output:

"தைைமிாாழ்்"
"Hanzi/"
"Hindi"
"Tamil"
"Tamil,English"
""

unmatch_indeces

from tamilstring.utf8 import  unmatch_indeces

list1 = unmatch_indeces("தைைமிாாழ்்")
print(list1)
list2 = unmatch_indeces("தைைமிாாழ்்")
print(list2)
list3 = unmatch_indeces("தைைமிாாழ்்1#w")
print(list3)

Output:

[[2, 3], [5, 7], [9, 10]]
[[2, 5], [7, 9], [11, 12]]
[[2, 3], [5, 7], [9, 14]]

toverify this what was is in this indeces

from tamilstring.utf8 import  unmatch_indeces

mixed_string = "தைைமிாாழ்்"

for i in unmatch_indeces(mixed_string):
    print(mixed_string[i[0]:i[1]])

Output:


ாா


# here actually the indexes one is overlapping another

what you thing instead applaying an external logic to get the unicode charecter to get the indeces if you get an it by a function

from tamilstring.utf8 import unmatched_unicode

mixed_string = "தைைமிாாழ்்"

print(unmatched_unicode(mixed_string))

Output:

['ை', 'ாா', '்']

splitting letters

from tamilstring.utf8 import split_letter
print(split_letter("மா"))
print(split_letter("கோ"))
print(split_letter("ணை"))
print(split_letter("க்ஷி")) 
print(split_letter("ஶ"))
print(split_letter("க்ஷை"))
print(split_letter("௵"))
print(split_letter("ழ்"))
print(split_letter("ஃ"))
Output:
('ம்','ஆ')
('க்','ஓ')
('ண்','ஐ')
("க்ஷ்","இ")
('ஶ்', 'அ')
('க்ஷ்', 'ஐ')
(None,None)
(None,None)
(None,None)
split_letter method split compound letter and return as possible constant and voule

make_letter

from tamilstring.utf8 import   make_letter
print(make_letter("ழ்","ஔ"))
print(make_letter("ப்","ஊ"))
print(make_letter("க்","ஐ"))
print(make_letter("ம்","ஊ"))
print(make_letter("ச்","ஆ"))
print(make_letter("ப்ப","ப்"))
print(make_letter("ச","ஆ"))
print(make_letter("ப்","ப"))
print(make_letter("ப்","ப்"))

Output:

'ழௌ'
'பூ'
'கை'
'மூ'
'சா'
None
None
None
None

from tamilstring.utf8 import  is_vowel
print(is_vowel("அ"))
print(is_vowel("ஔ"))
print(is_vowel("ஓ"))
print(is_vowel("இ"))
print(is_vowel("a"))
print(is_vowel("க்ஷ்"))
print(is_vowel("௩"))
print(is_vowel("௫"))

Output:

True
True
True
True
False
False
False
False

from tamilstring.utf8 import is_consonent
print(is_consonent("க்"))
print(is_consonent("ழ்"))
print(is_consonent("க்ஷ்"))
print(is_consonent("ஞ்"))
print(is_consonent("a"))
print(is_consonent("ஷி"))
print(is_consonent("௩"))
print(is_consonent("௫")) 

Output:

True
True
True
True
False
False
False
False     

from tamilstring.utf8 import  

print(is_composite("க"))
print(is_composite("ழ"))
print(is_composite("க்ஷ"))
print(is_composite("க்ஷூ"))
print(is_composite("a"))
print(is_composite("ஶ்"))
print(is_composite("௩"))
print(is_composite("௫"))

Output:

True
True
True
True
False
False
False
False

from tamilstring.utf8 import  
print(in_tamil("a"))
print(in_tamil("B"))
print(in_tamil("3"))
print(in_tamil("?"))
print(in_tamil("ஃ"))
print(in_tamil("௹"))
print(in_tamil("க்ஷ்"))
print(in_tamil("ஷி"))
print(in_tamil("ஶ்ரீ"))
print(in_tamil("我"))
print(in_tamil("ക"))

Output:

False
False
False
False:
False
False
True
True
True
False
False

from tamilstring.utf8 import  

print(english_specific("a"))
print(english_specific("B"))
print(english_specific("3"))
print(english_specific("?"))
print(english_specific("+"))
print(english_specific("ஃ"))
print(english_specific("௹"))

Output:

'EN-LOW'
'EN-UPP'
'EN-NUM'
'TA-SYM'
'EN-SYM'
None
None

from tamilstring.utf8 import  

print(tamil_specific("அ"))
print(tamil_specific("ஔ"))
print(tamil_specific("௩"))
print(tamil_specific("ப்"))
print(tamil_specific("கை"))
print(tamil_specific("ஃ"))
print(tamil_specific("௹"))
print(tamil_specific("க்ஷ்"))
print(tamil_specific("ஷி"))
print(tamil_specific("ஶ்ரீ"))
print(tamil_specific("我"))
print(tamil_specific("ക"))

Output:

'TA-VOL'
'TA-VOL'
'TA-NUM'
'TA-CON'
'TA-COM'
'TA-AUT'
'TA-SYM'
None
None
None
None
None

from tamilstring.utf8 import  

print(sanskrit_specific("க்ஷ்"))
print(sanskrit_specific("ஷி"))
print(sanskrit_specific("ஶ்ரீ"))
print(sanskrit_specific("我"))
print(sanskrit_specific("ക"))

Output:

'SA-CON'
'SA-COM'
'TA-SYM'
None
None

from tamilstring.utf8 import  

print(ta_consonent("ப்"))
print(ta_consonent("க்ஷூ"))
print(ta_consonent("க்"))
print(ta_consonent("a"))
print(ta_consonent("ஶ்"))
print(ta_consonent("அ"))

Output:

True
False
True
False
False
False

from tamilstring.utf8 import  

print(ta_composite("பூ"))
print(ta_composite("க்ஷூ"))
print(ta_composite("க"))
print(ta_composite("a"))
print(ta_composite("ஶ்"))
print(ta_composite("அ"))

Output:

True
False
True
False
True
False

from tamilstring.utf8 import  

print(sa_consonent("க்ஷ்"))
print(sa_consonent("க்ஷூ"))
print(sa_consonent("க"))
print(sa_consonent("a"))
print(sa_consonent("ஶ்"))
print(sa_consonent("அ"))

Output:

True
False
False
False
True
False

from tamilstring.utf8 import  

print(sa_composite("க்ஷ"))
print(sa_composite("க்ஷூ"))
print(sa_composite("க"))
print(sa_composite("a"))
print(sa_composite("ஶ்"))
print(sa_composite("அ"))

Output:

True
True
False
False
False
False

from tamilstring.utf8 import  

print(kind("அ"))
print(kind("ஔ"))
print(kind("௩"))
print(kind("ப்"))
print(kind("கை"))
print(kind("ஃ"))
print(kind("௹"))
print(kind("க்ஷ்"))
print(kind("ஷி"))
print(kind("ஶ்ரீ"))
print(kind("我"))
print(kind("ക"))

Output:

'TA-VOL'
'TA-VOL'
'TA-NUM'
'TA-CON'
'TA-COM'
'TA-AUT'
'TA-SYM'
'SA-CON'
'SA-COM'
'TA-SYM'
'UN-LAN'
'UN-LAN'

from tamil.utf8 import get_letters as op_get_letters
from tamilstring import get_letters as ta_get_letters

print(op_get_letters("க்ஷ்"))
print(ta_get_letters("க்ஷ்"))

Output:

['க்', 'ஷ்']
['க்ஷ்']

print(op_get_letters("ஶ்ரீ"))
print(ta_get_letters("ஶ்ரீ"))

print(op_get_letters("ஸ்ரீ"))
print(ta_get_letters("ஸ்ரீ"))

Output:

['ஶ்', 'ரீ'] 
['ஶ்ரீ']
['ஸ்', 'ரீ']
['ஸ்ரீ']

when you notice that this both 'ஸ்ரீ','ஶ்ரீ' ( this looking both differnet from mobile ) are used to refer same letter

soon cython implemetation