c#, wie teste ich ob ein bestimmtes wort in einer text datei steht?

4 Antworten

Ich sag nicht dass es das idealste ist, aber man könnte mit einer For Schleife durch die einzelnen Wörter gehen und für jedes testen ob es dem gesuchten entspricht...

string inhalt = System.IO.File.ReadAllText("Dateipfad");
if(inhalt.Contains(benutzername))
   // schon vorhanden
else
   // noch nicht vorhanden
Woher ich das weiß:Berufserfahrung – Beruf, Schule, Hobby und eigene Erfahrungen

ZombieDrake 
Beitragsersteller
 08.12.2016, 17:39

omggg thxx!!!!

1
Berny96  08.12.2016, 17:42
@ZombieDrake

beachte das hierbei auf Groß und Kleinschreibung geachtet wird, heisst es dürfen zwei Benutzer vorhanden sein die "Benutzer" und "benutzer" heissen. Willst du dies auschliessen solltest du den namen den du prüfen willst vorher in kleinschreibung umwandeln und natürlich wenn du ihn erstellst auch.

benutzername = benutzername.ToLower();
0
DataJockey  09.12.2016, 09:58

pass auf dass die Datei nicht zu gross wird.ReadAllText macht Probleme bei grossen Dateien.

0

Warum denn mit ner textdatei?!?! Und warum nur EINE

Splitte nach \n und siehe da da ist ja schon das nächste problem, nutzernamen die \n beeinhalten dürfen so nicht gespeichert werden. Übrigens solltest du dann noch zb strtolower verwenden...

Am Besten liest du den Inhalt der Datei als String, splittest den beim Zeilenumbruch und iterierst über das zurückgegebene String Array.

In echten Anwendungen mit Benutzerkonten verwendet man aber Datenbanken!


ZombieDrake 
Beitragsersteller
 08.12.2016, 17:38

Ich bin noch recht unerfahren in c# und nein, sollte eigentlich nur ein kleines projekt zum üben werden.. also wenns geht sollte es einfach bleiben :), wär urrr nett wenn du mir ein beispiel in c# schreiben könntest, danke danke... <3

0
Berny96  08.12.2016, 17:39

Wieso dann nicht direkt 

File.ReadAllLines("dateipfad");

Das würde die alle Zeilen der Datei in ein Array lesen.

2
shilch  08.12.2016, 17:41
@Berny96

Auch gut. Ich programmiere nicht in C#, aber die von mir geschilderte Vorgehensweise ist auf viele Sprachen übertragbar.

2