Hej, vet någon om det finns en färdig funktion inbygd eller externt för c# som ersättter t.ex. å ä ö med a a o, é med e osv.. a-z och 0-9 ska vara som dom är och allt annat ska bytas utmot "_". Tyvärr inte. Det närmaste du kommer är om du kör Server.HtmlEncode i asp då den ersätter udda tecken med html-entiteter. Men för den funktionen du beskriver är det bara att bita i sura äpplet tyvärr. Tack, jag skrev något snabbt men har antagligen glömt massa tecken. använd: Tack! Tänkte inte på att man kan göra så, mycket smidigare.Någon färdig funktion för att replaca specialtecken?
Vad jag vill åstadkomma är att t.ex. strängen:
"Hej hur mår du idag?"
skulle ersättas med
"hej_hur_mar_du_idag_"
Självklart kan jag skriva en sån funktion själv men det finns så j*vla många tecken att man säkert lätt missar ett och annat.
Ifall det inte finns färdigt, vad är bästa sättet att gå till väga? Jag tänker mig något i stil med:
strang = Regexp.Replace(strang,"[éèëê]", "e");
// och likadant för a o u i osv
strang = Regexp.Replace(strang,"[^a-zA-Z0-9]", "_");Sv: Någon färdig funktion för att replaca specialtecken?
Sv:Någon färdig funktion för att replaca specialtecken?
public static string CleanUp(string text)
{
//Change special characters.
text = Regex.Replace(text, "[áàäâãåÁÀÄÂÃÅ]", "a");
text = Regex.Replace(text, "[óòöôõÓÒÖÔÕ]", "o");
text = Regex.Replace(text, "[éèëêÉÈËÊ]", "e");
text = Regex.Replace(text, "[úùüûÚÙÜÛ]", "u");
text = Regex.Replace(text, "[íìïîÍÌÏÎ]", "i");
//Replace other characters with "_".
text = Regex.Replace(text, "[^a-zA-Z0-9]", "_");
//Remove double "_". <-- borde loopas för att även ta bort trippla _ men har inte kommit mig för att göra det.
text = text.Replace("__", "_");
//Change the string to lower case.
text = text.ToLower();
return text;
}Sv: Någon färdig funktion för att replaca specialtecken?
System.Text.RegularExpressions.Regex.Replace(text,"_{2,}", "_")
istället för en lopp att ersätta alla dubbla och trippla "_". utrycket ersätter alla "_" där det finns två eller flera med ett.Sv:Någon färdig funktion för att replaca specialtecken?