Замена строк
ПрограммистамМегамозгу в очень длинном тексте требуется заменить все буквы «А» на буквы «Б», а все буквы «Б» - на буквы «А». Текстовый редактор позволяет заменить во всём тексте один произвольный набор символов на другой. Например, в результате замены «АА» → «БСАА» строка «АААААЛ» перейдёт в строку «БСААБСАААЛ». Как ему выполнить задачу?
Вы не знаете символов, используемых в тексте, но любая последовательность символов (даже на первый взгляд не несущая смысла, например, «%:ы)*№»), которую вы используете в заменах, теоретически может встретиться в и тексте.
В условии об этом прямо не сказано, но я так понимаю, что все остальные символы, кроме А и Б, должны остаться неизменными. Это так?
Да.
Что значит "очень длинный текст"?
1. Вручную все замены сделать невозможно.
2. Любая данная последовательность символов может в нем встретиться.
3. Мегамозг не может использовать для замены последовательности, длина которых сравнима с длиной текста.
Есть ли в арсенале текстового редактора символ, отсутствующий в тексте?
Нет.
Можно ли несколько раз производить изменения по всему тексту?
Да.
Можно ли пропускать некоторые последовательности? Например, при замене "АА"->"БСАА" строка "AAAAAЛ" перейдет в строку "БСАААААЛ" (то есть 2ую последовательность пропустили).
Нет.
Можно ли при замене пользоваться регулярными выражениями (либо их аналогами)?
Нет.
122 комментария