www.mikrocontroller.net

Forum: PC-Programmierung C# String teilen


Autor: Rene Pratsch (rene1989)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
funktion strtok()

Autor: Rene Pratsch (rene1989)
Datum:

Bewertung
0 lesenswert
nicht 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.

?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Markus V. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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:
string data = "45;32;31;56;98;";
string[] items = data.Split( new char[]{';'} );
foreach ( string s in items )
{
    // aufgrund des letzten ';' in data dürfte das letzte Element
    // in items leer sein...
    if ( ! string.IsNullOrEmpty(s) )
    {
        // Verarbeitung des Elements s
    }
}

Grüße aus KA
Markus

Autor: Rene Pratsch (rene1989)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.