how to split character data in string and double?

Hello,
I'm having difficulties separating character arrays. I want to split the char strings below and retrieve the numeric values.
'Time 12:57:33'
'Temp. T2 [deg.C] = 36.6'
'Solar Irradiance [kW/m^2] 0.857101'
Can anybody help me? Im new to Matlab and I know this should be an easy task, but im having quite some trouble with it.
Thanks in advance, greetings Boudewijn

 Risposta accettata

Andrei Bobrov
Andrei Bobrov il 28 Feb 2014
Modificato: Andrei Bobrov il 28 Feb 2014
c = {'Time 12:57:33'
'Temp. T2 [deg.C] = 36.6'
'Solar Irradiance [kW/m^2] 0.857101'}
regexp(c,'(\d*:)*\d*(\.\d*)*$','match')

4 Commenti

Thank you!
This is exactly what I want my output to look like! However I want to generate columns of time values, columns of temp values, etc.
I actually have a structure with a column of time values, a column of irradiance values etc.
How can I adjust the code to retrieve it seperately?
'Time 12:57:33'
'Time 12:57:51'
'Time 12:58:37'
And to refer to the first time value I type in
'solar.time(1,1)'
Thanks in advance!
You didn't explain how your data are stored, post a sample of your data for at least two time values
Sorry,
The data is stored in a structure consisting of a several 69x1 cell arrays.
To refer to the second time value I type in;
solar.time(2,1)
I figured it out! Thanks again!

Accedi per commentare.

Più risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 28 Feb 2014
Modificato: Azzi Abdelmalek il 28 Feb 2014
str='Time 12:57:33'
out=regexp(str,'\d+(\.)?(\d+)?','match')

1 Commento

If your data are stored like:
v={'Time 12:57:33','Temp. T2 [deg.C] = 36.6','Solar Irradiance [kW/m^2] 0.857101';'Time 12:57:33' ,'Temp. T2 [deg.C] = 36.6','Solar Irradiance [kW/m^2] 0.857101'}
out=regexp(v,'[\d:]+(\.)?(\d+)?$','match')
out=[ [out{:,1}]' [out{:,2}]' [out{:,3}]']

Accedi per commentare.

Categorie

Richiesto:

Bou
il 28 Feb 2014

Commentato:

Bou
il 28 Feb 2014

Community Treasure Hunt

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

Start Hunting!

Translated by