Удалить из текста определенные IP-адреса - C#
Формулировка задачи:
Дана строка, в которой содержится осмысленное текстовое сообщение. Слова
сообщения разделяются пробелами и знаками препинания.В сообщении могут содержаться IP-адреса компьютеров в формате d.d.d.d, где
d – целое число из диапазона от 0 до 255. Удалить из сообщения IP-адреса, в которых
последнее число d начинается с заданной цифры (данная цифра вводится с клавиатуры).
Для ввода нескольких строк можно использовать следующий фрагмент
программы
// Ввод данных string text = ""; // Исходный текст из нескольких строк Console.WriteLine("Введите строки. Пустая строка - конец ввода!"); string st = Console.ReadLine(); // st - текущая строка text while (st != "") // Пока st не пуста { text += "\n" + st; st = Console.ReadLine(); }
Решение задачи: «Удалить из текста определенные IP-адреса»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Text.RegularExpressions; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { // Ввод данных string text = ""; // Исходный текст из нескольких строк Console.WriteLine("Введите строки. Пустая строка - конец ввода!"); string st = Console.ReadLine(); // st - текущая строка text while (st != "") // Пока st не пуста { text += "\n" + st; st = Console.ReadLine(); } int d = -1; while(d < 1 || d > 9) { Console.Write("Введите цифру от 1 до 9: "); d = Convert.ToInt32(Console.ReadLine()); } string endPattern = ""; if(d == 1) endPattern = @"(1[0-9]{2}|1[0-9]|1)"; else if (d == 2) endPattern = @"(25[0-5]|2[0-4][0-9]|2[0-9]|2)"; else endPattern = d.ToString(); string pattern = @"(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])\." + endPattern; Regex newReg = new Regex(pattern); string newText = newReg.Replace(text, ""); Console.WriteLine("Новый текст: " + newText); Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д