Софтуерно Инженерство
Loading...
+ Нов въпрос
vasildiavolo avatar vasildiavolo 12 Точки

RegEx - 07. Query Mess

Решението: https://pastebin.com/ZyALPvBb

Задачата: https://softuni.bg/trainings/resources/officedocument/29442/exercise-problem-descriptions-programming-fundamentals-january-2018

Judge: https://judge.softuni.bg/Contests/Compete/Index/430#6

 

Стигам до 54/100, слагах какви ли не проверки, измислях си какви ли не входове... резултатът е яко наспамване на Judge и нито точка в повече от негова страна.

 

Обяснявам накратко решението си, че да ви улесня в кода:

  • RemoveSpaces - махам единичните whitespaces от текущия вход, а там където са повече от един ги редуцирам до един space
  • GetCurrentFields - създавам речник за текущата команда, в който като key ще пазя всеки field, а като лист от стрингове във value ще пазя всички value-та за съответния field/key. После само пълня речника от всеки match.
  • PrintCurrentResult - принтирам след всеки вход и преминаванетто през горните 2 метода, резултата за всеки field, който съм получил и неговите value-тата

 

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

Благодаря предварително!

Тагове:
0
Fundamentals Module
willystyle avatar willystyle 527 Точки
Best Answer

Заради \t (табулацийте), те ти чупят. Те са уайтспейсове, а ти не ги правиш на интервали.

затова не ползвай " " а "\\s+", понеже табулацията не е просто 4 интервала, а е отделен символ, с друг аски код, но попада в групата на уайтспейсовете.

И много си си усложнил живота, намалих ти малко кода с Regex.Replace().

https://pastebin.com/WDYtQK5c

 

0
19/06/2018 00:40:57
vasildiavolo avatar vasildiavolo 12 Точки

Май с цел да се застраховам със StringBuilder наистина излишно съм усложнил нещата. А и Regex.Replace много не му обърнах внимание на лекцията, ползвах го в една задача и сега въобще го забравих като опция.

Благодаря за помощта, беше повече от полезна :)

1
Ivelin_Dimitrov avatar Ivelin_Dimitrov 146 Точки

Сега ще отворя един компилатор да ти разгледам решението, открих си моето такова на Java e, но е същото, погледни го ако искаш 

https://pastebin.com/8GZKexvc

0