এই সমস্যাটি স্ট্রিংটি রিভার্স করে, রিপ্লেস করার স্ট্রিংটি রিভার্স করে, রিভার্সড স্ট্রিংতে রিভার্সড রিপ্লেসমেন্ট দিয়ে রিপ্লেস করে, এবং শেষে আবার রিভার্স করে সমাধান করা যায়।
স্ট্রিং রিভার্স করা সহজ স্লাইসিং নোটেশন - [::-1] দিয়ে। স্ট্রিং রিপ্লেস করতে str.replace(old, new, count) ব্যবহার করুন। উদাহরণস্বরূপ,
def rreplace(s, old, new):
return (s[::-1].replace(old[::-1], new[::-1], 1))[::-1]
rreplace('Helloworld, hello world, hello world', 'hello', 'hi')
এটি আউটপুট দেবে:
'Hello world,hello world, hi world'
অন্য একটি পদ্ধতি হলো স্ট্রিংকে একবার old স্ট্রিং দিয়ে রিভার্স স্প্লিট করা এবং লিস্টকে new স্ট্রিং দিয়ে জয়েন করা। উদাহরণস্বরূপ,
def rreplace(s, old, new):
li = s.rsplit(old, 1) # শুধু একবার স্প্লিট
return new.join(li)
rreplace('Helloworld, hello world, hello world', 'hello', 'hi')
এটি আউটপুট দেবে:
'Hello world, hello world, hi world'