C# Regex проблем
Даден е текст. Напишете програма, която променя регистъра на буквите до главни на всички места в текста, заградени с таговете <upcase> и </upcase>. Таговете не могат да бъдат вложени.
Пример:
We are living in a <upcase>yellow submarine</upcase>. We don't have <upcase>anything</upcase> else. |
Резултат:
We are living in a YELLOW SUBMARINE. We don't have ANYTHING else. |
А може ли да ми обесниш какво точно са m и => и какво правят
Това са ламда функции
https://stackoverflow.com/questions/167343/c-sharp-lambda-expressions-why-should-i-use-them
Ако не знаеш какво е, мога да те насоча към лекции от типа функционално програмиране, LINQ в C#, трябва да ги има в курсовете Advanced C#.
Иначе най-просто това е ламбда израз, в лявата страна стои променлива/и, в случая m, после има =>, което си е просто стрелка, отдясно - какво действие искаме да извършим с променливатата. Ако задържиш мишката върху m във Visual studio, ще ти каже, че m e от тип Match, това е резултата от мачването на регекса. Можем да извикаме всеки метод върху тоя Match, който връща накрая string, защото на метода Replace му трябва някакъв string, с който да заменя. Цялото нещо е съкратен запис на метод, който се вика всеки път щом се намери match и текущия match се подава като стойност в променливата m. Това се прави с делегат, ама това за друг път си го остави.
същия код без ламбдата, а с метод - https://pastebin.com/X4RxeX3S