Identifying numbers within a long string containing multiple occurrences of text and numbers in one row

2 visualizzazioni (ultimi 30 giorni)
Read from a text file, my input array contains one row that looks like this:
x y z p (Pa) @ mDot=0.003 p (Pa) @ mDot=0.03 p (Pa) @ mDot=0.3 p (Pa) @ mDot=3
Is there a way to identify the numbers in that row and create a separate numerical array based on them?
Something like:
NUMM=[0.003 0.03 0.3 3]

Risposta accettata

Stephen23
Stephen23 il 12 Gen 2022
Modificato: Stephen23 il 12 Gen 2022
Simpler and gives the requested output:
str = 'x y z p (Pa) @ mDot=0.003 p (Pa) @ mDot=0.03 p (Pa) @ mDot=0.3 p (Pa) @ mDot=3';
out = str2double(regexp(str,'\d+\.?\d*','match'))
out = 1×4
0.0030 0.0300 0.3000 3.0000

Più risposte (1)

Saeid
Saeid il 12 Gen 2022
Thank you both!

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by