Extract numbers from mixed string.
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Jeong_evolution
am 29 Okt. 2016
Kommentiert: Jeong_evolution
am 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 Kommentare
Akzeptierte Antwort
Marc
am 29 Okt. 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....
Weitere Antworten (1)
per isakson
am 29 Okt. 2016
Bearbeitet: per isakson
am 29 Okt. 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});
Siehe auch
Kategorien
Mehr zu Characters and Strings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!