Hiho,
Ich hab eine Datei koplett in einen String eingelesen.
Hab das alles bischen zusammen geschnitten, damit mir das suchen nach bestimmten Zeichen leichterfällt weil diese Zeichen öfter vorkommen und in einem neuen String gespeichert.
Ich aber nur einen bestimmten Abschnitt bearbeiten wollte, deswegen dieser weg.
Weil ich vorher mit regex die Positionen zum Zusammenschneiden bestimmt habe weiß ich auch wo des Zeugs anfängt und endet.
Nun möchte ich das geändert in den einem wieder an die altePosition im kompletten String zurückschreiben.
Mit replace kann ich aber nur String gegen String tauschen, soweit ich weiß.
Gibt es da ne Möglichkeit das auch über Indexzahlen zu steuern?
darkgreetz
Cine
Hallo CinemaStrange,
String.Substring () zum Ausschneiden und str1 + str2 zum Zusammenfügen.
herbivore
Das Problem ist nur das was ich ersetzen möchte steht mit drinnen in dem ersten String...deswegen ja auch meine Frage ob man nauch irgendwie Indexgesteuert ersetzen kann...
das geht so blblblblbl(teil ersetzen) blahaha.
darkgreetz
Cine
Hallo CinemaStrange,
unter indexgesteuert habe ich verstanden, dass du die Indexpositionnen von Begin und Ende des zu ersetzenden Teils kennst. Wenn dem so ist, geht mit den genannten Methoden.
str = "Hallo";
str = str.Substring (0, 1) + "e" + str.Substring (2);
ergibt "Hello".
herbivore
thx noch mal.
Habs jetzt geschafft.
Wenn die Lösung wie ich des jetzt gemacht hab sehen willlst sag bescheid.
CyA 👍
darkgreetz
Cine
Ich habe eine änliche Frage
Und zwar habe ich eine Datei mit vielen Zeichen Buchstaben und Zahlen drin
Irgendwo in der Datei steht jetzt '''"***!!'')/(()= hallo.asd hallo2.asdf hallo3.asdf /(!("!/)"!)"!
Ich will jetzt alles was mit asdf endet in diesem Fall hallo.asd hallo2.asdf hallo3.asdf ausgeben lassen
Wie kann ich da vorgehen??
Hallo alf468,
straight forward ungefähr so:
Match m = Regex.Match (str, @"(?<found>[a-z0-9_]+\.asdf)", RegexOptions.IgnoreCase);
while (m.Success) {
Console.WriteLine (m.Groups["found"].Value);
m = m.NextMatch ();
}
Pulpapex würde vermutlich empfehlen, den Pattern zu complieren 🙂
herbivore
Danke erstmal aber leider funktioniert das nicht X(
es wird nix ausgegeben
Hallo alf468,
durch den Forumsparser ist ein '' in @"(?<found>[a-z0-9_]+.asdf)" verschwunden.
Allerdings wird dadurch eher weniger als mehr gematcht. Ich hatte jedoch den Code mit deinem String getestet und bei mir wird
hallo2.asdf
hallo3.asdf
ausgegeben. Es sollte also auch bei dir gehen.
herbivore
Hinweis 08.04.2006: Der Forumsparser wurde geändert und zeigt die Backslashes nun wieder an.
So jetzt geht es 🙂
Aber jetzt kommt der schwerste Teil.
Ich habe das ganze ins DataGrid geladen ,nun kann der User diese sachen ändern
Das ganze soll dann wieder in der Datei gespeichert werden
Hallo alf468,
zumindest mir war und ist nicht klar, was die Frage ist.
Wenn die Frage nichts mit "Teilstring durch anderen String ersetzen" zu tun hat, ist ohnehin es vielleicht besser einen neuen Thread aufzumachen.
herbivore