我正在尝试分解日期,并在日,月和年中添加一个数字
date = input('Please enter the date (DD/MM/YYYY):','s')
tokens = regexp(sprintf(date),'/','split')
daymonthyear = str2num(tokens)
test = daymonthyear + 1
答案 0 :(得分:4)
如错误消息所示,str2num
需要字符串,而不是字符串的单元格数组。有两种方法可以解决这个问题。您可以使用str2double
,或cellfun
结合str2num
。
解决方案1
daymonthyear = str2double(tokens)
解决方案2
daymonthyear = cellfun(@str2num,tokens)
答案 1 :(得分:1)
Jonas already addressed您遇到的具体错误,但我认为您可能对使用SSCANF而不是REGEXP的更简单方法感兴趣:
date = input('Please enter the date (DD/MM/YYYY):','s');
daymonthyear = sscanf(date,'%d/%d/%d',[1 3]);
答案 2 :(得分:0)
你不能使用addtodate吗?
i = input('Please enter the date (DD/MM/YYYY):','s')
date = datenum(i, 'dd/mm/yyyy')
date = addtodate(date, 1, 'year')
date = addtodate(date, 1, 'month')
date = addtodate(date, 1, 'day')
tokens = regexp(datestr(date, 'dd/mm/yyyy'),'/','split')