Извлечь определенные символы из строки и просуммировать их. - 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
Листинг программы
string[] data = { "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" }; Dictionary<string, int> ips = new Dictionary<string, int>(); foreach (string line in data) { string key = line.Split(' ')[2]; if ( ips.ContainsKey(key) ) ips[key]++; else ips[key] = 1; } foreach (KeyValuePair<string, int> ip in ips) { Console.WriteLine("IP {0}; Count = {1};", ip.Key, ip.Value); } Console.ReadLine();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д