File size: 9,365 Bytes
bfde6e2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#!/usr/bin/env python
# coding: utf-8

# In[1]:


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' : ['लाख'],
    'one hundred twelve' : ['इक्सुबारा','वनमंटों','वनवंतु'],
    }

    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)


# In[ ]: