Extract Strings of different lengths

Hello, I want to build a function that extracts METAR data from one specific airport.
The char that I get looks like this:
202005250620 METAR ETSL 250620Z 24008KT 9999 FEW040 BKN060 11/07 Q1031
BLU BLU TEMPO WHT=
202005250620 METAR ETSN 250620Z 29008KT 9999 VCSH FEW020 SCT040 BKN065
12/10 Q1031 BLU BLU TEMPO GRN=
202005250620 METAR ETWM 250620Z 35008KT 9999 VCSH SCT012TCU BKN056 14/10
Q1031 BLU=
StartMETAR= strfind(rawdata,"ETSL")-19
ETSL for example is one Airport. I now want to build a string that starts 20 positions earlier than the station (in oder to include the date) and ends whenever there is an equal sign. However as you can see the strings are always of different length. How can I do this?
Thank you very much already in advance

 Risposta accettata

Rik
Rik il 25 Mag 2020
The code below assumes there is only a single match for 'ETSL'.
StartMETAR=strfind(rawdata,'ETSL')-19;
EndMETAR=strfind(rawdata,'=');
EndMETAR(EndMETAR<=StartMETAR)=[];EndMETAR=EndMETAR(1);%select the first after StartMETAR

Più risposte (0)

Categorie

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by