Loading...
Terziyski avatar Terziyski 54 Точки

RegEx - Remove Duplicates / Как да премахна дублиращите се имена

Здрвейте, имам следния проблем с тази задача : https://pastebin.com/a7fqmasp .

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

Условие на задачата : https://softuni.bg/trainings/resources/officedocument/16102/lab-problem-descriptions-programming-fundamentals-may-2017

 

Моля за малко съдействие , пробвах със Distinct() , но нямаше никакъв ефект :) 

 

Тагове:
0
Programming Fundamentals
VasilValchanov avatar VasilValchanov 555 Точки
Best Answer

Марине здравей Distinct() в твоя случай няма да проработи защото едното име което запазваш е 

Ivan Ivanov, а другот ->

Ivan    Ivanov 

Просто трябва да оправиш малко регекса да хваща само един спейс между имената и не ти трябва Distinct() за тази задача!

Също така с твоя регекс е възможно first name да съдържа 1 буква а по условие са минимум 2 

0
04/07/2017 13:44:20
Terziyski avatar Terziyski 54 Точки

Дай малко жокер къде мога да погледна , че порових доста из StackOverflow , но нещо много се замотах...

0
VasilValchanov avatar VasilValchanov 555 Точки

с леки корекций -> \b[A-Z][a-z]{1,}\b {1}\b[A-Z][a-z]+\b

и може без групиране следователно -> Console.Write(name + " ");

1
Terziyski avatar Terziyski 54 Точки

Пробвах със кодът който ми изпрати , но отново получавам накрая два пъти Ivan Ivanov  ?

Дори пробвах да ги вкарам в един празен List<string> и тогава да Distinct-на , но ефектът беше същия :?

0
VasilValchanov avatar VasilValchanov 555 Точки

https://pastebin.com/SKsQ34js -> при мен минава

0
Terziyski avatar Terziyski 54 Точки

Успях да го изкарам със Distinct() , като си създадох нов лист , който обходих със foreach и от там използвах Distinct() , обаче ми гърми на 60/100. 

Пример : https://pastebin.com/AX1jyji4

Сега ще погледна твоя код , да не би да бъркам RegEx-а някъде :)

0
04/07/2017 14:23:20
VasilValchanov avatar VasilValchanov 555 Точки

В условието не се споменава, че имената трябва да са уникални за това може с Distinct() да ти гърмят някои тестове, понеже е възможно да има хора с еднакви имена.

0
Terziyski avatar Terziyski 54 Точки

Да , да сега пробвах отново и мина 100/100 с този RegEx код , аз бях сложил целият израз в скоби ( ) и от там ми даваше грешка и също изкарваше 60/100.

 

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