У меня есть ситуация, когда у меня есть строка, из которой я должен заменить определенные детали.Я знаю, где находятся эти части и как они выглядят (другими словами, я могу сопоставить их через регулярное выражение), но не только я не знаю точного содержания, но и внутри строки могут быть похожие подстроки.Чего я хочу добиться, так это заменить только конкретное вхождение с этим смещением, оставив остальное нетронутым.
Пример:
Test String (this) Test (not this) Test Test (this) Test Test (and this) Test (this maybe)
Я знаю, что должен заменить строки, соответствующие этому регулярному выражению: \(.*?\)
но только если они начинаются в позициях 12, 62 and 78
(другими словами, первая (this)
, но не вторая, (and this)
и (this maybe)
. Подстроки (not this)
и вторая (this)
не должныбыть замененным)
Я знаю, что я должен публиковать свои попытки решить проблему, но я смотрю на код с получаса, и никакой идеи из него не вышло (я смотрел на код в течение более длительного временипрежде чем сдаться и спросить в прошлом, но сегодня я немного спешу) но у меня такое чувство, что решение проще, чем я думаю.Единственное, что я понял, это то, что я должен заменить строки в обратном порядке, чтобы не изменять позиции