Új hozzászólás Aktív témák

  • fatal`

    titán

    válasz Neil Watts #6845 üzenetére

    Szia!

    Én így csináltam:

    public static string RemoveAccents(this string sourceString)
    {
    var normalizedString = sourceString.Normalize(NormalizationForm.FormD);
    var stringBuilder = new StringBuilder(normalizedString);
    for (var i = 0; i < stringBuilder.Length; i++)
    {
    if (CharUnicodeInfo.GetUnicodeCategory(stringBuilder[i]) == UnicodeCategory.NonSpacingMark)
    {
    stringBuilder.Remove(i, 1);
    }
    }
    return Regex.Replace(stringBuilder.ToString(), "[^A-Za-z0-9_.]", "");
    }

    Mondjuk ez csak betűket, számokat, aláhúzás jelet és pontot enged a szövegbe, de innen már könnyen átírod, ha jól rémlik elég ha kiveszed a regex replacet a végéről. :) Fájlnévhez használtam (még van előtte egy szóköz törlés is, csak azt kitöröltem, de csak most vettem észre, hogy neked nem tökéletes.

Új hozzászólás Aktív témák