Entwickler-Ecke

Basistechnologien - string bearbeiten...


tomycat - Mi 01.07.15 21:25
Titel: string bearbeiten...
hallo,
ich habe eine string "satz" wie:
1232345423524 hund 2 blablalb
1232345423524 <--- string ersten_teil
Wie kann man ein einfachsten die Zahlenreihe in einen String packen?
Ich würde jetzt eine for schleife bauen, dass jedes einzele Zeichen durchgeht bis ein Leerzeichen kommt, geht das auch einfacher?


Moderiert von user profile iconChristian S.: Topic aus WinForms verschoben am Mi 01.07.2015 um 21:35


Palladin007 - Mi 01.07.15 21:28

string.Split [https://msdn.microsoft.com/de-de/library/b873y76a%28v=vs.110%29.aspx]

Und weitere Überladungen


Csharp-programmierer - Mi 01.07.15 21:35

Versuche es mit der Split Methode:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
string s = textBoxeingabe.Text;
string  [] teil;
int i = 0;

teil = s.Split (' '); //das zu Splittende Zeichen
labelanzeigen.Text = "Worte : " + "\n";
for (i = 0; i < teil.Length; i++)
{
  //z.B. 
  Labelanzeigen.Text += teil [1] + "\n";
}


Ich hoffe, ich habe dir damit weitergeholfen :)


Ralf Jansen - Mi 01.07.15 21:58

Da gibt es tausend Wege. Anregungen z.B.


C#-Quelltext
1:
2:
3:
4:
5:
string source = "1232345423524 hund 2 blablalb";

string solution1 = new string(source.TakeWhile(x => x != ' ').ToArray());
string solution2 = source.Split(' ')[0];
string solution3 = source.Substring(0, source.IndexOf(' '));


tomycat - Do 02.07.15 21:00

vielen vielen Dank !!!
genau das habe ich gesucht, und habe noch entwas zu gelernt.


tomycat - So 05.07.15 21:33

ich dachte schon ich wäre am Ziel. :-(


C#-Quelltext
1:
teil = s.Split ('\r\n'); //das zu Splittende Zeichen                    

oder

C#-Quelltext
1:
teil = s.Split ('xxx'); //das zu Splittende Zeichen                    


warum geht das nicht

Moderiert von user profile iconTh69: C#-Tags hinzugefügt


Delete - So 05.07.15 21:49

- Nachträglich durch die Entwickler-Ecke gelöscht -


jfheins - So 05.07.15 21:50

Weil der simple Split-Overload eben nur mit einzelnen Zeichen funktioniert. Schau vll. nochmal hier: https://msdn.microsoft.com/de-de/library/aa691087(v=vs.71).aspx und hier: https://msdn.microsoft.com/de-de/library/aa691090.aspx
Da gibt es einen Unterschied ;-)

Zum Problem: Hier sind die Overloads aufgelistet: https://msdn.microsoft.com/en-us/library/System.String.Split(v=vs.110).aspx

du könntest zum Beispiel Split(String[], StringSplitOptions) benutzen, müsstest dann den einen String aber in ein Array verpacken.

P.S.:
Zitat:
warum geht das nicht

Ist schon extrem wenig hilfreich. Eine Fehlermeldung wird ja wohl kommen, oder?


tomycat - So 05.07.15 21:59


C#-Quelltext
1:
2:
3:
4:
5:
6:
string[] stringSeparators = new string[] { "\r\n" };
string[] lines = ergebniss_string.Split(stringSeparators, StringSplitOptions.None);

die_bruchteile.Items.Add(lines[0]);   ///////////////// Durchlauf der forschleife
die_bruchteile.Items.Add(lines[1]);
die_bruchteile.Items.Add(lines[2]); // da meldet sich der Debugger

google und ihr habt mich weitergebracht.Danke
Wie baue ich es in die For schleife ein ?

Moderiert von user profile iconTh69: C#-Tags hinzugefügt


Palladin007 - So 05.07.15 22:06

Klick hier [http://bfy.tw/fNk]


for-Schleifen sind alles andere als kompliziert, sie sind in den meisten Sprachen sehr ähnlich, teilweise sogar komplett gleich.
Es gibt mehr als genug Quellen im Internet zu finden.


Oder:
http://openbook.rheinwerk-verlag.de/visual_csharp_2012/
Was da nicht drin steht, kannst Du getrost als fortgeschritten bezeichnen.


Ralf Jansen - So 05.07.15 22:06

Welche For-Schleife? Und wenn du uns die zeigst sag doch auch gleich wofür du glaubst die zu brauchen.

Wenn du einfach die 3 gezeigten Aufrufe auf das lines Array meinst dann solltest du vorher prüfen ob da auch mindestens 3 Dinge drin sind.
Ansonsten kannst du über den Inhalt von lines einfach per foreach iterieren.


tomycat - Mo 06.07.15 20:31

ich habe schon 1000 mal eine for schleife benutzt :-)

Vor lauter Bäume wusste ich nicht wie ich Sie definieren ich soll.
Trodem Danke für alles.