Я реализую программу ac #, которая должна автоматизировать моно-буквенный шифр замещения.Функциональность, над которой я сейчас работаю, является самой простой: пользователь предоставит простой текст и зашифрованный алфавит, например:
Простой текст (ввод): ЭТО ТЕСТ
Алфавит шифра: A -> Y, H -> Z, I -> K, S -> L, E -> J, T -> Q
Текст шифра (вывод): QZKL KL QJLQ
Я думал об использовании регулярных выражений, так как некоторое время программировал на Perl, но я столкнулся с некоторыми проблемами на c #.Сначала я хотел бы знать, будет ли у кого-то предложение по регулярному выражению, которое заменит все вхождения каждой буквы на соответствующую букву шифра (предоставленную пользователем) сразу и без перезаписи.
Пример:
В этом случае пользователь предоставляет открытый текст "ТЕСТ", и на своем зашифрованном алфавите он хочет, чтобы все его T были заменены на E, E заменены на Y, а S - на J. Моя первая мысль состояла в том, чтобы заменить каждыйвхождение буквы с отдельным символом, а затем заменить этот символ на шифр, соответствующий предоставленной в виде простого текста.
Используя то же слово в качестве примера "ТЕСТ", шаги, предпринятые программой для предоставления ответа, будут:
- заменить T на (скажем) @
- заменить E на #
- заменить S на &
- Заменить @ на E, #с Y и с J
- Выходные данные = EYJE
Это решение не работает для больших текстов.Я хотел бы знать, может ли кто-нибудь придумать одно регулярное выражение, которое позволило бы мне заменить каждую букву в данном тексте на соответствующую букву в 26-буквенном алфавите шифра без необходимости разбивать задачу на промежуточный этап, пока я
Если это помогает визуализировать процесс, это экран печати моего графического интерфейса программы: альтернативный текст http://img43.imageshack.us/img43/2118/11618743.jpg