Aus einem String das Wort zwischen 2 Anfürhungszeichen auslesen

Fridulin

Erfahrenes Mitglied
Hallo Leute,

ich öffne eine Datei und schreibe sie in einen Array. Nun suche ich eine gewisse Zeile in den Array raus mit "StartsWith". Nun steht in der Zeile z.B
test = "ich bin der Test"
Ich möchte jetzt gerne das ausschneiden was zwischen den Anführungszeichen (") steht, also ich bin ein Test . Wie kann ich das bewerkstelligen

Code:
string[] gesplittet =arrZeilen[i].Split('"');

So gibt er mir natürlich nur den ersten Teil aus, wie kann ich das noch anders Lösen?

Grüße und Vielen Dank für eure Hilfe
 
Zuletzt bearbeitet:

Fridulin

Erfahrenes Mitglied
Hi, danke für deine Hilfe. Ja so hab ich mir das auch schon gedacht. Sprich also muß man in der Zeile suchen wann die " beginnen und sich dann dort diese Zeilen Nummer merken und das gleich denn mit den LastIndexOf. Dann diese Stelle mit Hilfe des Substring ausschneiden.

Schade, ich dachte es gäbe noch evt. eine einfacherer Methode. Trotzdem vielen Dank für deine Hilfe

Grüße Fridulin


--- Edit ---

Habe hier ist mein Code, so funktionierts.

Code:
...
int anfang = arrZeilen[i].IndexOf('"');
int ende = arrZeilen[i].LastIndexOf('"');
anfang = anfang + 1;
int laenge = ende - anfang;
string HauptVer = arrZeilen[i].Substring(anfang, laenge);
...
 
Zuletzt bearbeitet:

Nico Graichen

Erfahrenes Mitglied
Gibt doch noch andere, kürzere, Methode, vorausgesetz ist aber, dass du nur die " entfernen willst. Wenn vor und nach dem String noch was kommt, dann funktioniert das folgende natürlich nicht:
Code:
string str = "\"Hello World\"";
str = str.Replace("\"", "");
Console.WriteLine(str);


            Hello World
 

matdacat

Erfahrenes Mitglied
Mit deiner ersten Lösung sollts doch auch hinhauen. Wenn du mit Split('"') splittest, sollte im rückgegebenen Array der zweite Eintrag den Text zwischen den Anführungszeichen enthalten. In deinem Beispiel wären der erste und dritte Eintrag leer, da vor und nach den Anführungszeichen nichts steht.