strring ="My name is David and I live is India" # correct the grammer using find and replace method
new_str=strring.find("is") # find the index of first "is"
print(new_str)
fnl_str=strring.replace("is","in") # replace "is" with "in" ( My name is David and I live in India )
print(fnl_str)
Asked
Active
Viewed 30 times
1
-
Explain the complete issue or do `strring = strring.replace('live is','live in')` – Yash Kumar Atri Sep 30 '18 at 16:25
-
1Take a look at https://stackoverflow.com/questions/9943504/right-to-left-string-replace-in-python – Ruzihm Sep 30 '18 at 16:25
-
If you have something else in mind then look at https://stackoverflow.com/q/46705546/4320263 – Yash Kumar Atri Sep 30 '18 at 16:27
2 Answers
1
Maybe str.rpartition()
solves the case here, though not a general solution:
strring = "My name is David and I live is India"
first, sep, last = strring.rpartition('is')
print(first + 'in' + last)
# My name is David and I live in India

Austin
- 25,759
- 4
- 25
- 48
0
You could .split()
the string then use enumerate
to create a list of the indices of items
containing the word is
. Then you can take the second index in that list and use that index
to change the item to in
. Then use ' '.join()
to put it back together
s = "My name is David and I live is India"
s = s.split()
loc = []
for idx, item in enumerate(s):
if item == 'is':
loc.append(idx)
s[loc[1]] = 'in'
print(' '.join(s))
My name is David and I live in India

vash_the_stampede
- 4,590
- 1
- 8
- 20