VirQ. Замена и удаление искомого текста в строке в C#
Язык C# входит в ТОП-5
самых популярных языков
программирования
Главная / Строковые переменные /
Замена и удаление искомого текста в строке
Статей на сайте: 61

Замена и удаление искомого текста в строке


Рассмотрим варианты, связанные с удалением лишних символов или их заменой на другие.
Допустим, у нас есть песня: "Алла Пугачёва - Миллион алых роз.mp3". Нам необходимо все пробелы заменить на нижнее тире _.
Код будет выглядеть так:
[code] string s = "Алла Пугачёва - Миллион алых роз.mp3"; string t = s.Replace(" ", "_"); //И тут вы получите Алла_Пугачёва_-_Миллион_алых_роз.mp3 [/code]
Имея список из 10000 композиций, в которых нужно таким образом избавиться от пробелов, можно за несколько минут сделать работу, которую делать вручную пришлось бы несколько недель.

Следующий пример. Необходимо все буквы "а" превратить в буквы "А".
[code] string s = "Если на Вас упало яблоко - удирайте как можно скорее: яблоня от яблока недалеко падает"; string t = s.Replace("а", "А"); //Результат: Если нА ВАс упАло яблоко - удирАйте как можно скорее: яблоня от яблокА недАлеко пАдает [/code]
Обязательно учитывайте, чтобы искомая буква "а" была введена на русском языке. Латинская буква "а" выглядит абсолютно так же и в результате данный метод вам вернёт неизменённую фразу.

Чтобы удалить ненужные символы, достаточно во 2-ом параметре поставить пустоту "". Обратите внимание - между кавычками ничего нет.
[code] string s = "Из этого текста удалим какую-нибудь букву"; string t = s.Replace(" ", ""); //Получим: 'Изэтоготекстаудалимкакую-нибудьбукву' [/code]

Более развёрнутый пример. Допустим, откуда-то (из файла, с почты, с ввода клавиатуры) номера телефона мы получили номер: +7 (912) 000-11-22
Нужно из этого номера удалить все пробелы, скобки и знак +
[code] string s = "+7 (912) 000-11-22"; s = s.Replace(" ",""); //Получим +7(912)000-11-22 s = s.Replace("(",""); //Получим +7912)000-11-22 s = s.Replace(")",""); //Получим +7912000-11-22 s = s.Replace("+",""); //Получим 7912000-11-22 s = s.Replace("-",""); //Получим 79120001122 [/code]

Дополнительная информация о том, как вывести результат в консоли или WinForm