Извлечь определенные символы из строки и просуммировать их. - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет. Есть строки 2010-06-25 05:13:52 10.4.4.101 POST /SPACE1/ISwitchMemberCtxSvcFacade.rem - 80 - 10.4.4.63 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+5.1.2600.196608;+MS+.NET+Remoting;+MS+.NET+CLR+2.0.50727.3607+) 401 2 5 171 2010-06-25 05:13:52 10.4.4.101 POST /SPACE1/IServerApplicationsAgent.rem - 80 - 10.4.4.63 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+5.1.2600.196608;+MS+.NET+Remoting;+MS+.NET+CLR+2.0.50727.3607+) 401 2 5 15 2010-06-25 05:59:57 10.4.4.103 POST /SPACE1/ISwitchMemberCtxSvcFacade.rem - 80 - 10.4.4.156 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+5.1.2600.196608;+MS+.NET+Remoting;+MS+.NET+CLR+2.0.50727.3607+) 401 2 5 140 2010-06-25 05:59:57 10.4.4.103 POST /SPACE1/IServerApplicationsAgent.rem - 80 - 10.4.4.156 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+5.1.2600.196608;+MS+.NET+Remoting;+MS+.NET+CLR+2.0.50727.3607+) 401 2 5 31 нужно посчитать количество одинаковых ip и вывести их в отдельные переменные. При всем этом мы не знаем какие ip могут быть.. Помогите пожалуйста! очень нужно как можно быстрее! Спасибо огромное.

Решение задачи: «Извлечь определенные символы из строки и просуммировать их.»

textual
Листинг программы
  1. string[] data = {
  2.     "2010-06-25 05:13:52 10.4.4.101 POST /SPACE1/ISwitchMemberCtxSvcFacade.rem - 80 - 10.4.4.63 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+5.1.2600.196608 ;+MS+.NET+Remoting;+MS+.NET+CLR+2.0.50727.3607+) 401 2 5 171",
  3.     "2010-06-25 05:13:52 10.4.4.101 POST /SPACE1/IServerApplicationsAgent.rem - 80 - 10.4.4.63 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+5.1.2600.196608 ;+MS+.NET+Remoting;+MS+.NET+CLR+2.0.50727.3607+) 401 2 5 15",
  4.     "2010-06-25 05:59:57 10.4.4.103 POST /SPACE1/ISwitchMemberCtxSvcFacade.rem - 80 - 10.4.4.156 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+5.1.2600.196608 ;+MS+.NET+Remoting;+MS+.NET+CLR+2.0.50727.3607+) 401 2 5 140",
  5.     "2010-06-25 05:59:57 10.4.4.103 POST /SPACE1/IServerApplicationsAgent.rem - 80 - 10.4.4.156 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+5.1.2600.196608 ;+MS+.NET+Remoting;+MS+.NET+CLR+2.0.50727.3607+) 401 2 5 31"
  6.                  };
  7. Dictionary<string, int> ips = new Dictionary<string, int>();
  8. foreach (string line in data)
  9. {
  10.     string key = line.Split(' ')[2];
  11.     if ( ips.ContainsKey(key) )
  12.         ips[key]++;
  13.     else
  14.         ips[key] = 1;
  15. }
  16.  
  17.  
  18.  
  19. foreach (KeyValuePair<string, int> ip in ips)
  20. {
  21.     Console.WriteLine("IP {0}; Count = {1};", ip.Key, ip.Value);
  22. }
  23. Console.ReadLine();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы