radhikay Ответов: 2

Как заменить несколько символов одновременно в строке


Может ли кто-нибудь сказать мне, как заменить несколько символов одновременно в строке

Например: codeproject@discussion.com

Как заменить все " о " на " Е "и все" е " на "о".

Можно ли использовать функцию replaceAll() класса String ? или для петли нужна петля?

Что я уже пробовал:

Я пробовал использовать функцию replaceAll (), но могу заменить только один символ за раз

2 Ответов

Рейтинг:
2

phil.o

Проблема с тем, что replaceAll то есть, как только вы замените все " о " на "е", вы не сможете отличить оригинальные " е " от замененных.
Так что вам придется прибегнуть к старой доброй итерации по персонажам.
Одним из возможных способов было бы ведение словаря символов, подлежащих замене, причем ключом был бы заменяемый символ, а значением-заменяемый символ. При итерации по исходной строке, если текущий символ находится в словаре, замените его, в противном случае оставьте без изменений.
Поскольку это сильно пахнет домашней работой, я не буду доказывать какой-либо фактический код; но буду рад помочь дальше, если вы сможете придумать хотя бы какую-то базовую реализацию.


Рейтинг:
1

PIEBALDconsult

Напишите метод для итерации символов и сделайте это.

Кроме того, взгляните на записи для этого:
https://www.codeproject.com/Questions/1157796/Coding-challenge-bad-word-filter