Forum: PC-Programmierung C# String teilen


von Rene P. (rene1989)


Lesenswert?

Hi,

ich bekomme Daten vom Mikrocontroller über die Serielle Schnittstelle 
zum PC gesendet.

DIe Daten schauen so aus:

45;32;31;56;98;

Das sind Werte von 5 Sensoren.

Nun möcht ich den String in C# aufsplitten, und zwar beim Zeichen ";".
Wie funktioniert das? Das Microsoft Bsp hab ich mir zwar angesehen, aber 
damit geht es nicht.

von Matthias (Gast)


Lesenswert?

funktion strtok()

von Rene P. (rene1989)


Lesenswert?

Hast du vielleicht einen Beispiel Code?

Ich schaff es zwar jetzt dass nur der letzte Werte ausgegeben wird, 
allerdings möcht ich die 5 Werte in 5 verschiedene Variablen speichern.

?

von Matthias (Gast)


Lesenswert?


von Markus V. (Gast)


Lesenswert?

In C# heißt die Methode Split() und ist ein Member der Klasse 
System.String.
In Deinem Fall könnte der Aufruf wie folgt aussehen:
1
string data = "45;32;31;56;98;";
2
string[] items = data.Split( new char[]{';'} );
3
foreach ( string s in items )
4
{
5
    // aufgrund des letzten ';' in data dürfte das letzte Element
6
    // in items leer sein...
7
    if ( ! string.IsNullOrEmpty(s) )
8
    {
9
        // Verarbeitung des Elements s
10
    }
11
}

Grüße aus KA
Markus

von Rene P. (rene1989)


Lesenswert?

danke habe es jetzt so gemacht

string data = MSComm1.ReadTo(value); //Werte aus Schnittstelle
string[] substrings = Regex.Split(data, ";"); //regular Expression

substring[0] --> wert1
substring[1] --> wert2
substring[2] --> wert3
...

es funktioniert danke nochmals

von Matze (Gast)


Lesenswert?

Hi,

ich habe genau dasselbe Problem wie du, ich bekomme Daten über den UART 
die folgt aussehen:
70;11

möchte diese in 2 Strings teilen und zuweisen, also dann:
code1=70;
code2=11;

bin aber leidder nicht ganz schlau geworden aus dem Beitrag, hat jemand 
denn noch ein Bespiel mit einer genaueren Kommentierung, möchte es halt 
verstehen und nicht einfach nur machen:-)

Ein Beispiel mit meinen Werten wäre natürlich sehr hilfreich:-)

danke im vorraus

Matze

von Johnny (Gast)


Lesenswert?

Drückt doch mal Hilfe im Visual Studio und sucht nach "split", viel 
besser kann man es kaum noch dokumentieren. Nur gucken muss man 
selber...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.