2016-05-11 12 views
1

Ich habe einen Client UDP, wo ich einige Daten abrufe. Hören mit dem UdpClient, erhalte ich die ZeichenfolgeC# Wie schreibe ich einen Abschnitt einer Zeichenkette, nachdem er aus dem ASCII codiert wurde?

"Zeit = 12: 34: 32, Herzfrequenz = 120, Gewicht = 175, Type = cardiacstudy"

Ich möchte nur die Teile des String "12:34:32" und "120" soll geschrieben und aufgezeichnet werden.

verwenden ich den Code:

Console.WriteLine(Encoding.ASCII.GetString(bytes, 0, bytes.Length).IndexOf('=', ',')); 

etwas aus, um zu versuchen und arbeiten, aber ich weiß nicht, wie Abschnitt aus den Daten.

Antwort

1

können Sie string.Split so verwenden.

string[] Parse(string raw) 
    { 
     return raw.Split(new char[] { '=', ',' }); 
    } 

die "Time" und "Herzfrequenz" Werte sind in Index [1] und [3]

3

Sie die Zeichenfolge von , gespalten kann dann durch = und die Schlüssel-Wert-Paare extrahieren:

var result = Encoding.ASCII.GetString(bytes, 0, bytes.Length); 
var data = result.Split(',') 
    .Select(x => x.Trim().Split('=')) 
    .ToDictionary(x => x[0], x => x[1]); 

Console.WriteLine("Time: " + data["Time"]); 
Console.WriteLine("Heartrate: " + data["Heartrate"]);