String Parsing ( Splittern)!

09/03/2008 - 13:25 von MOMO | Report spam
Hallo
als Datasource habe ich als Beispiel Als Folgende String.( Max
Schmid And ( Hans Werner OR Claudia Muster)).

Ich will der Oberen String Beispiel Splittern Und in Textboxes
Einfügen:

texbox1.Text = "Max Schmid";
textbox2.Text = "And";
textbox3.Text = "Hans Werner";
textbox4.Text = "OR";
textbox4.Text = "Claudia Muster;

Ich habe bereits eine Methode Entwickelt die mir Mein String Splitter
aber als Ergebnis bekomme ich folgendes :
Max
Schmid
And
Hans
Werner
.

Und das will ich nicht .

ich will das jeder Text Teil vor Und nach jeder Booleschen Operator
(ob And , OR) In einem Textbox Kommt!

Mein Methode ist wie Folgend:

void stringParsing(){


String data= "( Max Schmid And ( Hans Werner OR Claudia Muster))";
data.Replace("(","");
data.Replace(")","");

string[] a = data.Split(' ');
for (int i = 0; i < a.Length; i++ )
{

// textBox addieren für a[i]

}

}

kann mich jemand helfen

Danke im voraus !






}
 

Lesen sie die antworten

#1 Marvin Massih
10/03/2008 - 00:04 | Warnen spam
Hallo,

MOMO schrieb:
Hallo
als Datasource habe ich als Beispiel Als Folgende String.( Max
Schmid And ( Hans Werner OR Claudia Muster)).

Ich will der Oberen String Beispiel Splittern Und in Textboxes
Einfügen:

texbox1.Text = "Max Schmid";
textbox2.Text = "And";
textbox3.Text = "Hans Werner";
textbox4.Text = "OR";
textbox4.Text = "Claudia Muster;


[...]
String data= "( Max Schmid And ( Hans Werner OR Claudia Muster))";
data.Replace("(","");
data.Replace(")","");



Strings sind in C# unverànderlich ("immutable"), die Replace-Methode
liefert dir jeweils einen neuen String. Außerdem solltest du besser
"string" statt "String" schreiben.

Korrekt wàre also eher:

data = data.Replace( "(", "" ).Replace( ")", "");

string[] a = data.Split(' ');



Wenn du an allen Leerzeichen trennst, ist es natürlich kein Wunder, dass
du dann "Max Schmid" in "Max" und "Schmid" zerlegst.
Du kannst stattdessen bspw. jeweils "AND" und "OR" durch einen Trenner
ersetzen, dann am Trenner splitten und die resultierenden Zeichenketten
Trim()en.
Ich würde das jedoch definitiv über einen regulàren Ausdruck abbilden.

Gruß
Marvin

Ähnliche fragen