У меня есть следующая строка / предложение (не грамматически правильное)
s = "The user should be able to audit log to view the audit log entries."
И у меня есть словарь с похожими ключами:
d = {'audit' : 'class1',
'audit log' : 'class2',
'audit log entries' : 'class3'}
Я могу получить индексдиапазоны подстрок, которые будут соответствовать ключам в словаре, и мне нужно заменить ключи, соответствующие их значениям.
final_ranges = [(49, 66), (27, 36)] #list length may vary
Я хочу перебрать диапазоны индексов и заменить подстроки.
Я попробовал следующий код:
for i in final_ranges:
for k,v in d.items():
if s[i[0]:i[1]] == k:
print(s[0:i[0]] + v + s[i[1]:])
, который будет выводить:
The user should be able to audit log to view the class3.
The user should be able to class2 to view the audit log entries.
Но я хочу, чтобы замены подстрок происходили в одном предложении.
The user should be able to class2 to view the class3.
Я прошел по этой ссылке .Но он не основан на индексных диапазонах.