04. Files (Sample Exam I) с RegEx
Видях доста хора, затруднили се с въпросната задача и това ме вдъжнови да я направя :D
Решеноето е с RegEx.
Кодът на пръв поглед е доста кратък и семпъл, но това вие ще си прецените ;)
Видях доста хора, затруднили се с въпросната задача и това ме вдъжнови да я направя :D
Решеноето е с RegEx.
Кодът на пръв поглед е доста кратък и семпъл, но това вие ще си прецените ;)
Благодарим! Разбира се, че с регекс.. а аз се мъчих с разделяне по не знам си какво. А в тази връзка можеш ли да кажеш какъв ще е regex-a на 03. Football League от втория подготвителен изпит?
При мен беше точно обратното. С regex всичко ми излизаше ОК, но ми гърмеше на тестовете 70/100. С обикновеното сплитване ми отне 10 минути цялата задача:
foreach (string row in input)
{
char[] splitParams = { '\\', ';' };
string[] data = row.Split(splitParams).ToArray();
string currentRoot = data[0];
string currentExt = data[data.Length - 2].Split('.').ToArray()[data[data.Length - 2].Split('.').ToArray().Length - 1];
string currentFileName = data[data.Length - 2];
long currentFileSIze = long.Parse(data[data.Length - 1]);
За 03. Football League
Без да съм го тествам във Visual Studio...
п.п.
след тест:
но на 10-ти тест дава грешен отговор :(
Здравей,
С този regex ми дава 100/100;
Даам.
Има логика, защото както измислиха да има страна без име, т.е "", също така може да има някоя със символ, различен от буква или _
Добре, намерихме регекса, разкрихме всички възможни случаи на имена на страни. Но аз никога в нормална ситуация не бих предположила, че може да има такива имена. И в работата си не бих казала на програмист или тестер да очаква такива случаи, ще им кажа да ги игнорират. Не е нормално това според мен. А и от условието на задачата къде по-точно се вижда това?...
Да, за страна без име направо не е нормално.
Но пък ако имаме Bosnia and Herzegovina, която си е съвсем истинска страна, \w+ пак няма да свърши работа. Той не лови интервалите...
Да, напълно си прав. Наистина спейс в името е съвсем нормално, а няма да се хване от \w. А за липсващо име на страна може да се приеме например, че е имало служебна попеда на някой и тогава резултата е 0:3, но няма противник. Само ме притеснява това, че в условието нищо такова не е предвидено, по принцип ни глезят и разкриват всички частни случаи още в условието ;)
Благодаря на всички за помощта!