Czy jest lepszy sposób na zrobienie tego ...
MyString.Trim().Replace("&", "and").Replace(",", "").Replace(" ", " ")
.Replace(" ", "-").Replace("'", "").Replace("/", "").ToLower();
Rozszerzyłem klasę string, aby ograniczyć ją do jednego zadania, ale czy jest szybszy sposób?
public static class StringExtension
{
public static string clean(this string s)
{
return s.Replace("&", "and").Replace(",", "").Replace(" ", " ")
.Replace(" ", "-").Replace("'", "").Replace(".", "")
.Replace("eacute;", "é").ToLower();
}
}
Dla zabawy (i żeby zatrzymać argumenty w komentarzach) podałem streszczenie porównując różne przykłady poniżej.
Opcja wyrażenia regularnego ma straszne wyniki; opcja słownika pojawia się najszybciej; Długa zwojowa wersja wymiany stringbuildera jest nieco szybsza niż krótka ręka.