Frage von schorsch2489, 1

Suchen Dialog C# oder Text auf mehrere Treffer eines Worts durchsuchen Ersetzen Dialog oder Ersetzen nur eines Vorkommens eines Treffers?

Hey, ich suche eine Möglichkeit, ein Suchen-Dialogfeld in eine C# Anwendung zu integrieren. Gibt es da etwas vorgefertigtes, wie den PrintDialog? Oder muss ich etwas selber schreiben? Wie finde ich mehrere Treffer und nicht nur den ersten eines Wortes?

Ähnliches Problem beim ersetzen. Gibt es einen vorgefertigtes Dialogfeld, dass man verwenden kann? Ansonsten ist es genau umgekehrt: ich suche eine Möglichkeit ein einzelnes Vorkommen zu ersetzen und nicht alle.

Antwort
von FaronWeissAlles, 1

Nein, etwas vorgefertigtes gibts da nicht, musst du schon selber schreiben.

Die string-Klasse bringt zwar einige Methoden mit wie Replace() und IndexOf() / LastIndexOf(), aber damit kann man nur begrenzt arbeiten, wie du sicher festgestellt hast.

Was du suchst ist die Klasse Regex bzw. Reguläre Ausdrücke im Allgemeinen. Damit kann man eine ganze Menge machen: Text anhand eines Musters suchen und Ersetzen. Alles was du beschrieben hast lässt sich mit regulären Ausdrücken wunderbar lösen. Sowie einem selbstgebauten Dialogfeld mit Textboxen, aber das ist ja nicht besonders schwer.

Kommentar von schorsch2489 ,

Ja, das einzige Problem ist nur, dass ich wenn ich ein eigenes Suchfeld schreibe, kein Highlight mehr im Textfeld geht. das ist schade, aber ansonsten hab ich es jetzt größtenteils mit einem Workaround gelöst.

Einzige das mehrere Hintereinander ersetzen fehlt mir noch die Idee (ich muss ja meinen eigenen Dialog schliessen, damit ich wieder in mein Hauptfenster komme) - wenn wer dafür eine Lösung hätte, wäre es hilfreich

Keine passende Antwort gefunden?

Fragen Sie die Community