Extract numbers from mixed string.
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Jeong_evolution
il 29 Ott 2016
Commentato: Jeong_evolution
il 3 Nov 2016
Str = ['<data seq="0"<temp8.0</temp<data seq="1"<temp6.9</temp'];
I want to extract temp (8.0 & 6.9)
I want to express in workspace
-------------------------------
tem_1 = 8.0
tem_2 = 6.9
-------------------------------
0 Commenti
Risposta accettata
Marc
il 29 Ott 2016
There are probably better ways to do this but if this is always going to be the string and only the numbers are going to change, you can use strfind() to get the locations of "temp"
Something like this:
xStr = strfind(Str, 'temp');
temp_1 = str2double(Str(xStr(1)+4:xStr(1)+6));
You should then be able to figure out temp_2....
Più risposte (1)
per isakson
il 29 Ott 2016
Modificato: per isakson
il 29 Ott 2016
Use regexp to match strings consisting of (digit,period,digit), and which follow after the string "temp"
Str = ['<data seq="0"<temp8.0</temp<data seq="1"<temp6.9</temp'];
cac = regexp( Str, '(?<=temp)\d\.\d', 'match' );
temp_2 = str2double(cac{2});
temp_1 = str2double(cac{1});
Vedere anche
Categorie
Scopri di più su Characters and Strings in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!