I am also trying to turn a string of Dates and times into a floating point value corresponding to the time. I have a string array that looks like: "Mon Jun 04 16:18:38 EDT 2018" "Mon Jun 04 16:33:29 EDT 2018" and I need a number array that has a decimal for the time of day. (12:00 am would be 0.000, noon would be 0.500)
How to extract a number from a string array?
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Réponse acceptée
Stephen23
le 21 Juin 2018
Modifié(e) : Stephen23
le 21 Juin 2018
"How can extract the first three digit value only so that I get a matrix that is 164 165 165"
With a simple application of regexp and str2double:
>> C = {'(164) - (165)','(165) - (166)','(165) - (166)'};
>> str2double(regexp(C,'\d{3}','match','once'))
ans =
164 165 165
0 commentaires
Plus de réponses (1)
Juan Fernandez
le 21 Juin 2018
I searched through older questions and found a similar one from 2012. The solution requires the use of regexp(_). Here's my implementation.
str1 = '(164) - (165)';
str2 = '(165) - (166)';
str3 = '(165) - (166)';
strs = {str1,str2,str3};
output = zeros(length(strs),1);
for iter=1:length(strs)
num_strs = regexp(strs{iter},'\d*','Match');
output(iter) = str2double(num_strs{1});
end
0 commentaires
Voir également
Catégories
En savoir plus sur Data Type Conversion dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!