Loading...
YanaStamenova avatar YanaStamenova 21 Точки

Race - Regular Expressions

Здравейте, имам проблем със задача Race от лекцията Regular Expressions. Условие: https://judge.softuni.bg/Contests/1668/Regular-Expressions-Exercise

Ето и линк към моето решение (не съм стигнала до финално форматиране и подреждане): https://pastebin.com/k5zuwzjT

Проблем се явява при опита ми да парсна match-натия стринг към инт. При стартиране на програмата ми показва Input was not in a correct format.

Грешката е тук: 

int splitDigits = 0;

                foreach (Match item in nameDistance)
                {
                    splitDigits += int.Parse(item.Groups["distance"].Value);
                }

А в regex101 изразът ми правилно засича числа и букви. Съответно, не знам защо ми дава грешка.

Ще съм благодарна на малко помощ.

0
Module: C# Advanced
msmner avatar msmner 38 Точки
Best Answer

Здравей!

Дава ти грешка, защото първият item в колекцията ти е буква и гърми при парсването. Направи си празен стринг и конкатенирай числата и след това ги обходи и ги събери. Нещо такова:


string splitDigitsAsStr = "";

foreach (Match item in nameDistance)
                {
                    splitDigitsAsStr += item.Groups["distance"].Value;
                }

 int splitDigits = 0;
 foreach (var item in splitDigitsAsStr)
                {
                    splitDigits += int.Parse(item.ToString());
                }

 

Поздрави!

0
YanaStamenova avatar YanaStamenova 21 Точки

Мерси,

Аз успях да я реша по-рано днес с малки корекции, след като установих това, което и ти си установил :)

Ето и решението: https://pastebin.com/gHcNxyqC

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.