import re def replace_words(sentence): # Define a dictionary mapping a single word to a list of words or phrases replacement_map = { # Multiples of ten 'twenty': ['ट्वेंटी', 'बीस'], 'thirty': ['थर्टी', 'तीस'], 'forty': ['फोर्टी', 'चालीस'], 'fifty': ['फिफ्टी', 'पचास'], 'sixty': ['सिक्स्टी', 'साठ'], 'seventy': ['सेवंटी', 'सत्तर','सेवनटी','सेवेनटी','सेवांटी'], 'eighty': ['एटी', 'अस्सी'], 'ninety': ['नाइंटी', 'नब्बे'], # Numbers from 11 to 19 'eleven': ['इलेवन', 'ग्यारह','इगारा'], 'twelve': ['ट्वेल्व', 'बारह'], 'thirteen': ['थर्टीन', 'तेरह','तेरा'], 'fourteen': ['फोर्टीन', 'चौदह'], 'fifteen': ['फिफ्टीन', 'पंद्रह','पंद्रा'], 'sixteen': ['सिक्स्टीन', 'सोलह','सोल्ला'], 'seventeen': ['सेवंटीन', 'सत्रह''सतरा'], 'eighteen': ['एटीन', 'अठारह''अठारा'], 'nineteen': ['नाइनटीन', 'उन्नीस','उन्नईस','उनाइस'], # 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': ['नाइंटी नाइन', 'निन्यानवे'], # Numbers from one to ten 'seven': ['सेवन', 'सात'], 'zero': ['शून्य', 'जेरो', 'शुन्ना', 'जीरो'], 'one': ['वन', 'एंक', 'इक', 'एक'], 'two': ['टू', 'दो'], 'three': ['थ्री', 'तीना', 'तीन', 'त्री'], 'four': ['फोर','फ़ोर', 'फॉर', 'च्यार', 'चार'], 'five': ['फाइव', 'पाँच', 'पांच'], 'six': ['सिक्स', 'चह', 'छौ', 'छै', 'छह', 'छे'], 'eight': ['एट', 'अट', 'आठ'], 'nine': ['नाइन', 'नौ'], 'ten': ['टेन', 'दस'], # Hundred 'hundred': ['हंड्रेड', 'सौ','सो','साव'], # Thousand 'thousand' : ['हजार','थौजनड','थाउजंड','हज़ार'], # Lakhs 'lac' : ['लाख'], } 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)