Ich benutze Simulink, um einige Zeichenfolgen zu verarbeiten, die von Remote-Server über TCP/IP in Echtzeit gesendet werden. Die Zeichenfolge (in Form von ASCII-Zahlen) Ich bin alle paar Millisekunden in Simulink immer ist diese (durch Komma getrennte Felder):N-te Feld aus String extrahieren mit Regex in Simulink M-Funktion
$FORMAT,YYYY-MM-DD HH:MM:SS.FFF,field1,field2,field3,field4,field5,field6*XX
wo fields1-3 und field5 und FIELD6 sind Strings. XX ist eine XOR-Prüfsumme. Feld3 sagt mir, was ist der Name des Werts und Field4 hat einige Integer-Wert und diese beiden sind die Felder, die ich mit Regex extrahieren muss. Wie mache ich das?
PS: In Simulink (2016a) auf der Empfängerseite habe ich TCP/IP Receive-Block und die Zeichenfolge wird in Simulinks M-Funktion verarbeitet, so hat es einige Einschränkungen von regulären Matlab-Datei (zum Beispiel strsplit
Methode nicht arbeite hier)
Kann eines der Felder Kommas enthalten? – gnovice
Nein Feld enthält Zahlen, einen Punkt für Gleitkomma und Zeichen von A bis Z, keine Kommas. – MCLenc