Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1562 | Anzahl registrierter User: 1893 | Besucher online: 398
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

alle ungültigen Zeichen aus Dateinamen entfernen


Autor: Jan Welker
Sprache: C#
Bewertung: 7,4
(1 Bewertung)
Anzahl der Aufrufe: 14733
  
Kick it on dotnet-kicks.de  

Beschreibung:

Diese Funktion entfernt alle Zeichen aus dem übergebenen String die in Dateinamen nicht erlaubt sind.

Abgelegt unter: regex, Dateiname, ungültige Zeichen.



C#
1
2
3
4
5
6
7
8
9
10
/// <summary>
/// Diese Funktion entfernt alle Zeichen aus dem übergebenen String
/// die in Dateinamen nicht erlaubt sind.
/// </summary>
/// <param name="Input">Der zu prüfende String</param>
/// <returns>String ohne nichterlaubte Zeichen</returns>
private string AdjustPath(string Input)
{
    return System.Text.RegularExpressions.Regex.Replace(Input,@"[\\/:*?""<>|]", string.Empty);
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Linoge schrieb am:  18.12.2006 10:22:27

Hallo Zusammen,
hier eine etwas andere Variante ohne Reguläre-Ausdrücke:

private string Test(string foo)
{
char[] Zeichen = new char[] { '\\', '/', ':', '*', '?', '\"', '<', '>', '|' };
for (Int64 i = 0; i < Zeichen.Length; i++)
foo = foo.Replace(Zeichen[i].ToString(), string.Empty);
return foo;
}


jedoch ist die Variante von Jan sauber und auch schneller,
z,B bei 1000000 Zeichen braucht diese Funktion ca 15 Millisekunden und
Jans Version unter 1 Millisekunden bei einem 3GHz Rechner.

Dieses Beispiel soll die Unterschiede zwischen verschiedenen Quelltexten mit
dem gleichen Ergebnis zeigen.

mfg
Linoge
Xqgene schrieb am:  21.06.2007 21:25:36

ab .NET 2.0 kann und soll man die Path.GetInvalidPathChars() und Path.GetInvalidFileNameChars() Methoden nutzen, um ein Array mit ungültigen Zeichen, zu bestimmen. Dadurch ist man nicht mehr so von einem bestimmten BS abhängig.


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.