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?
4 次查看(过去 30 天)
显示 更早的评论
4 个评论
采纳的回答
Stephen23
2018-6-21
编辑:Stephen23
2018-6-21
"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 个评论
更多回答(1 个)
Juan Fernandez
2018-6-21
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!