Exercises: Strings, Dictionaries, Lambda and LINQ: 3.Censor Your Email Address
Здравейте,
Как направихте "Create the replacement string by duplicating the '*' character username.Length and appending '@' and the domain." ?
Благодаря Ви предварително.
Здравейте,
Как направихте "Create the replacement string by duplicating the '*' character username.Length and appending '@' and the domain." ?
Благодаря Ви предварително.
Ето линк с решението: http://pastebin.com/WzjQiwUk
В случая трябва да разделиш string-a на username и domain, а после да цензурираш username-a и да ги събереш отново, за да ги използваш за подмяна в даден текст.
Ако вземем за пример: ivan@ivanivanov.bg се разделя на username: ivan и domain: ivanivanov.bg.
Разделяме ги спрямо "@".
Append е просто операция, при която ги събираш в едно цяло:
string <име на променлива> = username + "@" + domain (като цензурираш username-a).
После с Replace() сменяме всеки e-mail и сме готови :)
Идеята е, че като съберем целия e-mail адрес в едно цяло, се подсигуряваме, че подменяме само него във въведената информация. Иначе някоя част от username-a може да се препокрива във въведения текст или в името на domain-а.
PS: Извинявам се за имената на променливите в примерното ми решение - всичко се дължи на факта, че съм страшно мързелив...
Мерси за отговора! Не знаех как да направя подчертаната част по долу :)
string replacement = new string('*', b[0].Length) + "@" + b[1];
Много елегантно решение. Поиграх си да го напиша със списък, вместо масив, за тренировка, което пак е същото. Trim не е нужна и се учудих, че я ползваш, след като казваш, че си мързелив :) :