C# String durchsuchen?
Hallo,
könnte mir jemand ein Code erstellen um ein String nach einer Textbox durchsuchen zu lassen?
Also in der Textbox steht Apfel und danach soll in der Textbox gesucht werden. Es soll dann die Stelle ausgeben und den vorherigen Text ignorieren/löschen. Weiterhin soll der Text zum nächsten Zeilenumbruch hin enden oder alternativ nach einer bestimmten Anzahl eines Zeichens.
Beispiel Text:
Mandarine,1,2,3,4,5,
Banane,1,2,3,4,5
Apfel,1,2,3,4,5
Orange,1,2,3,4,5
Ausgabe: Apfel,1,2,3,4,5
Danke für eure Hilfe im Voraus.
1 Antwort
Schau dir mal Reguläre Ausdrücke an, auch RegEx genannt. Reguläre Ausdrücke sind sowas wie Suchmuster, die extrem vielseitig und mächtig sind. Damit kann man die Struktur beschreiben nach was man sucht ohne den exakten Text kennen zu müssen. Sowas wie "Finde 'Apfel' gefolgt von Zahlen (getrennt mit Komma) bis ein Zeilenumbruch kommt". Es lohnt sich sich mit regulären Ausdrücken zu befassen, du wirst sehen dass du sie ständig brauchen kannst wenn du was programmierst was auch nur entfernt mit Nutzereingaben oder Text zu tun hat.
Die für dich interessanten Funktionen in C# sind:
- Regex.Match()
- Regex.Matches()
- Regex.Replace()
- Regex.IsMatch()
Wie ein Regex-Suchstring aufgebaut ist erfährst du hier:
Ein sehr hilfreiches Tool zum Testen der Ausdrücke (welches ich selber jahrelang benutzt habe) ist: https://www.codeproject.com/Articles/24040/RegEx-Tester-Regular-Expression-Tester
Oder alternativ einen der unzähligen Webseiten.