import re
text = "Hello_Dear_Today_is_Nice_Today_is_Nice"
def replace_nth(text, sub, rep_sub, n):
if n > 1:
sub = rf'^(.*(?:{sub}.*?){{{n - 1}}}){sub}'
rep_sub = r'\1' + rep_sub
return re.sub(sub, rep_sub, text, count=1)
print(replace_nth(text, "Today", "Today_2", 2))
aW1wb3J0IHJlCgp0ZXh0ID0gIkhlbGxvX0RlYXJfVG9kYXlfaXNfTmljZV9Ub2RheV9pc19OaWNlIgoKZGVmIHJlcGxhY2VfbnRoKHRleHQsIHN1YiwgcmVwX3N1Yiwgbik6CiAgICBpZiBuID4gMToKICAgICAgICBzdWIgPSByZideKC4qKD86e3N1Yn0uKj8pe3t7biAtIDF9fX0pe3N1Yn0nCiAgICAgICAgcmVwX3N1YiA9IHInXDEnICsgcmVwX3N1YgogICAgcmV0dXJuIHJlLnN1YihzdWIsIHJlcF9zdWIsIHRleHQsIGNvdW50PTEpCgpwcmludChyZXBsYWNlX250aCh0ZXh0LCAiVG9kYXkiLCAiVG9kYXlfMiIsIDIpKQ==