Created
April 7, 2020 13:57
-
-
Save RabeyaMuna/39805ccf914940b32a0b27be052e5b66 to your computer and use it in GitHub Desktop.
The replace_ending function replaces the old string in a sentence with the new string, but only if the sentence ends with the old string. If there is more than one occurrence of the old string in the sentence, only the one at the end is replaced, not all of them. For example, replace_ending("abcabc", "abc", "xyz") should return abcxyz, not xyzxy…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def replace_ending(sentence, old, new): | |
| # Check if the old string is at the end of the sentence | |
| if sentence.endswith(old): | |
| # Using i as the slicing index, combine the part | |
| # of the sentence up to the matched string at the | |
| # end with the new string | |
| i = sentence.split() | |
| k =i[-1].replace(old,new) | |
| new_sentence=sentence[0:-len(old)]+k | |
| return new_sentence | |
| # Return the original sentence if there is no match | |
| return sentence | |
| print(replace_ending("It's raining cats and cats", "cats", "dogs")) | |
| # Should display "It's raining cats and dogs" | |
| print(replace_ending("She sells seashells by the seashore", "seashells", "donuts")) | |
| # Should display "She sells seashells by the seashore" | |
| print(replace_ending("The weather is nice in May", "may", "april")) | |
| # Should display "The weather is nice in May" | |
| print(replace_ending("The weather is nice in May", "May", "April")) | |
| # Should display "The weather is nice in April" |
def replace_ending(sentence, old, new):
# Check if the old string is at the end of the sentence
if sentence.endswith(old):
# Using i as the slicing index, combine the part
# of the sentence up to the matched string at the
# end with the new string
i = sentence.rindex(old)
new_sentence = sentence[ :i] + new
return new_sentence
# Return the original sentence if there is no match
return sentence
print(replace_ending("It's raining cats and cats", "cats", "dogs"))
Should display "It's raining cats and dogs"
print(replace_ending("She sells seashells by the seashore", "seashells", "donuts"))
Should display "She sells seashells by the seashore"
print(replace_ending("The weather is nice in May", "may", "april"))
Should display "The weather is nice in May"
print(replace_ending("The weather is nice in May", "May", "April"))
Should display "The weather is nice in April"
i = sentence.split() # split sentence into list
i[-1] = new # modify last item of the list into new one
new_sentence = " ".join(i) # convert into string
return new_sentence # return new sentence
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
It works perfectly for sentences and words alike