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
RoYaL avatar RoYaL Trainer 6849 Точки

Distinct() звучи като да свърши работа. Да видим как си го ползвал? :)

0
Terziyski avatar Terziyski 54 Точки

Бях го сложил във forech-a : 

 foreach (Match name in matchedNames)

{

name.Value.Distinct();

Console.Write(name + " ");

}

Console.WriteLine();

0
Pilgrimage avatar Pilgrimage 515 Точки

Distinct() трябва да отсее дупликатите още докато са в колекцията.

Сложи го на колекцията :
 foreach (Match name in matchedNames.Distinct())
(макар, че с данни от типа MatchCollection не знам как ще се държи...)

0
04/07/2017 13:24:35
Terziyski avatar Terziyski 54 Точки

Не го приема с този тип данни.

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