Spaces:
Sleeping
Sleeping
File size: 13,962 Bytes
6d8dc09 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
import re
def replace_words(sentence):
replacement_map = {
# Single digits
'zero':['பூஜ்யம்','சுழியம்'],
'one': ['ஒன்று', 'ஒன்னு', 'ஒன்'],
'two': ['இரண்டு', 'ரெண்டு', 'டூ'],
'three': ['மூன்று', 'முன்னு', 'த்ரீ'],
'four': ['நான்கு', 'நாலு', 'ஃபோர்'],
'five': ['ஐந்து', 'அஞ்சு', 'ஃபைவ்'],
'six': ['ஆறு', 'ஆறு', 'சிக்ஸ்'],
'seven': ['ஏழு', 'எழு', 'செவன்'],
'eight': ['எட்டு', 'எட்டு', 'எய்ட்'],
'nine': ['ஒன்பது', 'ஒம்பது', 'நைன்'],
'ten': ['பத்து', 'பத்து', 'டென'],
# Numbers from 11 to 19
'eleven': ['பதினொன்று', 'பதினொன்னு', 'எலெவன்'],
'twelve': ['பன்னிரண்டு', 'பன்னிரண்டு', 'ட்வெல்வ்'],
'thirteen': ['பதின்மூன்று', 'பதின்முன்னு', 'தர்டீன்'],
'fourteen': ['பதினான்கு', 'பதின்நாலு', 'ஃபோர்டீன்'],
'fifteen': ['பதினைந்து', 'பதினஞ்சு', 'ஃபிப்டீன்'],
'sixteen': ['பதினாறு', 'பதினாறோ', 'சிக்ஸ்டீன்'],
'seventeen': ['பதினேழு', 'பதினேழு', 'செவன்டீன்'],
'eighteen': ['பதினெட்டு', 'பதினெட்டு', 'ஏட்டீன்'],
'nineteen': ['பத்தொன்பது', 'பத்தொம்பது', 'நைன்டீன்'],
# Multiples of ten
'twenty': ['இருபது', 'இருபத்து', 'ட்வென்டி'],
'thirty': ['முப்பது', 'முப்பத்து', 'தர்டி'],
'forty': ['நாற்பது', 'நாற்பத்து', 'ஃபோர்டி'],
'fifty': ['ஐம்பது', 'ஐம்பத்து', 'ஃபிப்டி'],
'sixty': ['அறுபது', 'அறுபத்து', 'சிக்ஸ்டி'],
'seventy': ['எழுபது', 'எழுபத்து', 'செவன்டி'],
'eighty': ['எண்பது', 'எண்பத்து', 'ஏட்டி'],
'ninety': ['தொண்ணூறு', 'தொன்னூறு', 'நைன்டி'],
# Numbers from 21 to 29
'twenty one': ['இருபத்து ஒன்று', 'இருபத்தொன்று', 'ட்வென்டி ஒன்'],
'twenty two': ['இருபத்து இரண்டு', 'இருபத்திரண்டு', 'ட்வென்டி டூ'],
'twenty three': ['இருபத்து மூன்று', 'இருபத்துமூன்று', 'ட்வென்டி த்ரீ'],
'twenty four': ['இருபத்து நான்கு', 'இருபத்துநான்கு', 'ட்வென்டி ஃபோர்'],
'twenty five': ['இருபத்து ஐந்து', 'இருபத்துஐந்து', 'ட்வென்டி ஃபைவ்'],
'twenty six': ['இருபத்து ஆறு', 'இருபத்துஆறு', 'ட்வென்டி சிக்ஸ்'],
'twenty seven': ['இருபத்து ஏழு', 'இருபத்துஏழு', 'ட்வென்டி செவன்'],
'twenty eight': ['இருபத்து எட்டு', 'இருபத்துஎட்டு', 'ட்வென்டி ஏட்'],
'twenty nine': ['இருபத்து ஒன்பது', 'இருபத்தொன்பது', 'ட்வென்டி நைன்'],
# Numbers from 31 to 39
'thirty one': ['முப்பத்து ஒன்று', 'முப்பத்தொன்று', 'தர்டி ஒன்'],
'thirty two': ['முப்பத்து இரண்டு', 'முப்பத்திரண்டு', 'தர்டி டூ'],
'thirty three': ['முப்பத்து மூன்று', 'முப்பத்துமூன்று', 'தர்டி த்ரீ'],
'thirty four': ['முப்பத்து நான்கு', 'முப்பத்துநான்கு', 'தர்டி ஃபோர்'],
'thirty five': ['முப்பத்து ஐந்து', 'முப்பத்துஐந்து', 'தர்டி ஃபைவ்'],
'thirty six': ['முப்பத்து ஆறு', 'முப்பத்துஆறு', 'தர்டி சிக்ஸ்'],
'thirty seven': ['முப்பத்து ஏழு', 'முப்பத்துஏழு', 'தர்டி செவன்'],
'thirty eight': ['முப்பத்து எட்டு', 'முப்பத்துஎட்டு', 'தர்டி ஏட்'],
'thirty nine': ['முப்பத்து ஒன்பது', 'முப்பத்தொன்பது', 'தர்டி நைன்'],
# Numbers from 41 to 49
'forty one': ['நாற்பத்து ஒன்று', 'நாற்பத்தொன்று', 'ஃபோர்டி ஒன்'],
'forty two': ['நாற்பத்து இரண்டு', 'நாற்பத்திரண்டு', 'ஃபோர்டி டூ'],
'forty three': ['நாற்பத்து மூன்று', 'நாற்பத்துமூன்று', 'ஃபோர்டி த்ரீ'],
'forty four': ['நாற்பத்து நான்கு', 'நாற்பத்துநான்கு', 'ஃபோர்டி ஃபோர்'],
'forty five': ['நாற்பத்து ஐந்து', 'நாற்பத்துஐந்து', 'ஃபோர்டி ஃபைவ்'],
'forty six': ['நாற்பத்து ஆறு', 'நாற்பத்துஆறு', 'ஃபோர்டி சிக்ஸ்'],
'forty seven': ['நாற்பத்து ஏழு', 'நாற்பத்துஏழு', 'ஃபோர்டி செவன்'],
'forty eight': ['நாற்பத்து எட்டு', 'நாற்பத்துஎட்டு', 'ஃபோர்டி ஏட்'],
'forty nine': ['நாற்பத்து ஒன்பது', 'நாற்பத்தொன்பது', 'ஃபோர்டி நைன்'],
# Numbers from 51 to 59
'fifty one': ['ஐம்பத்து ஒன்று', 'ஐம்பத்தொன்று', 'ஃபிப்டி ஒன்'],
'fifty two': ['ஐம்பத்து இரண்டு', 'ஐம்பத்திரண்டு', 'ஃபிப்டி டூ'],
'fifty three': ['ஐம்பத்து மூன்று', 'ஐம்பத்துமூன்று', 'ஃபிப்டி த்ரீ'],
'fifty four': ['ஐம்பத்து நான்கு', 'ஐம்பத்துநான்கு', 'ஃபிப்டி ஃபோர்'],
'fifty five': ['ஐம்பத்து ஐந்து', 'ஐம்பத்துஐந்து', 'ஃபிப்டி ஃபைவ்'],
'fifty six': ['ஐம்பத்து ஆறு', 'ஐம்பத்துஆறு', 'ஃபிப்டி சிக்ஸ்'],
'fifty seven': ['ஐம்பத்து ஏழு', 'ஐம்பத்துஏழு', 'ஃபிப்டி செவன்'],
'fifty eight': ['ஐம்பத்து எட்டு', 'ஐம்பத்துஎட்டு', 'ஃபிப்டி ஏட்'],
'fifty nine': ['ஐம்பத்து ஒன்பது', 'ஐம்பத்தொன்பது', 'ஃபிப்டி நைன்'],
# Numbers from 61 to 69
'sixty one': ['அறுபத்து ஒன்று', 'அறுபத்தொன்று', 'சிக்ஸ்டி ஒன்'],
'sixty two': ['அறுபத்து இரண்டு', 'அறுபத்திரண்டு', 'சிக்ஸ்டி டூ'],
'sixty three': ['அறுபத்து மூன்று', 'அறுபத்துமூன்று', 'சிக்ஸ்டி த்ரீ'],
'sixty four': ['அறுபத்து நான்கு', 'அறுபத்துநான்கு', 'சிக்ஸ்டி ஃபோர்'],
'sixty five': ['அறுபத்து ஐந்து', 'அறுபத்துஐந்து', 'சிக்ஸ்டி ஃபைவ்'],
'sixty six': ['அறுபத்து ஆறு', 'அறுபத்துஆறு', 'சிக்ஸ்டி சிக்ஸ்'],
'sixty seven': ['அறுபத்து ஏழு', 'அறுபத்துஏழு', 'சிக்ஸ்டி செவன்'],
'sixty eight': ['அறுபத்து எட்டு', 'அறுபத்துஎட்டு', 'சிக்ஸ்டி ஏட்'],
'sixty nine': ['அறுபத்து ஒன்பது', 'அறுபத்தொன்பது', 'சிக்ஸ்டி நைன்'],
# Numbers from 71 to 79
'seventy one': ['எழுபத்து ஒன்று', 'எழுபத்தொன்று', 'செவன்டி ஒன்'],
'seventy two': ['எழுபத்து இரண்டு', 'எழுபத்திரண்டு', 'செவன்டி டூ'],
'seventy three': ['எழுபத்து மூன்று', 'எழுபத்துமூன்று', 'செவன்டி த்ரீ'],
'seventy four': ['எழுபத்து நான்கு', 'எழுபத்துநான்கு', 'செவன்டி ஃபோர்'],
'seventy five': ['எழுபத்து ஐந்து', 'எழுபத்துஐந்து', 'செவன்டி ஃபைவ்'],
'seventy six': ['எழுபத்து ஆறு', 'எழுபத்துஆறு', 'செவன்டி சிக்ஸ்'],
'seventy seven': ['எழுபத்து ஏழு', 'எழுபத்துஏழு', 'செவன்டி செவன்'],
'seventy eight': ['எழுபத்து எட்டு', 'எழுபத்துஎட்டு', 'செவன்டி ஏட்'],
'seventy nine': ['எழுபத்து ஒன்பது', 'எழுபத்தொன்பது', 'செவன்டி நைன்'],
# Numbers from 81 to 89
'eighty one': ['எண்பத்து ஒன்று', 'எண்பத்தொன்று', 'ஏட்டி ஒன்'],
'eighty two': ['எண்பத்து இரண்டு', 'எண்பத்திரண்டு', 'ஏட்டி டூ'],
'eighty three': ['எண்பத்து மூன்று', 'எண்பத்துமூன்று', 'ஏட்டி த்ரீ'],
'eighty four': ['எண்பத்து நான்கு', 'எண்பத்துநான்கு', 'ஏட்டி ஃபோர்'],
'eighty five': ['எண்பத்து ஐந்து', 'எண்பத்துஐந்து', 'ஏட்டி ஃபைவ்'],
'eighty six': ['எண்பத்து ஆறு', 'எண்பத்துஆறு', 'ஏட்டி சிக்ஸ்'],
'eighty seven': ['எண்பத்து ஏழு', 'எண்பத்துஏழு', 'ஏட்டி செவன்'],
'eighty eight': ['எண்பத்து எட்டு', 'எண்பத்துஎட்டு', 'ஏட்டி ஏட்'],
'eighty nine': ['எண்பத்து ஒன்பது', 'எண்பத்தொன்பது', 'ஏட்டி நைன்'],
# Numbers from 91 to 99
'ninety one': ['தொண்ணூற்று ஒன்று', 'தொண்ணூற்றொன்று', 'நைன்டி ஒன்'],
'ninety two': ['தொண்ணூற்று இரண்டு', 'தொண்ணூற்றிரண்டு', 'நைன்டி டூ'],
'ninety three': ['தொண்ணூற்று மூன்று', 'தொண்ணூற்றுமூன்று', 'நைன்டி த்ரீ'],
'ninety four': ['தொண்ணூற்று நான்கு', 'தொண்ணூற்றுநான்கு', 'நைன்டி ஃபோர்'],
'ninety five': ['தொண்ணூற்று ஐந்து', 'தொண்ணூற்றுஐந்து', 'நைன்டி ஃபைவ்'],
'ninety six': ['தொண்ணூற்று ஆறு', 'தொண்ணூற்றுஆறு', 'நைன்டி சிக்ஸ்'],
'ninety seven': ['தொண்ணூற்று ஏழு', 'தொண்ணூற்றுஏழு', 'நைன்டி செவன்'],
'ninety eight': ['தொண்ணூற்று எட்டு', 'தொண்ணூற்றுஎட்டு', 'நைன்டி ஏட்'],
'ninety nine': ['தொண்ணூற்று ஒன்பது', 'தொண்ணூற்றொன்பது', 'நைன்டி நைன்'],
# Hundred
'hundred': ['நூறு', 'நூறை', 'ஹண்ட்ரெட்'],
# Thousand
'thousand': ['ஆயிரம்'],
}
words = sentence.split() # Split the sentence by spaces
# Replace words using the mapping
for i, word in enumerate(words):
for replacement, patterns in replacement_map.items():
if word in patterns:
words[i] = replacement # Replace the word if it's fully matched
# Join the processed words back into a sentence
return ' '.join(words)
|