2014-09-24 52 views
0

我想弄清楚这个子字符串的功能和是否存在函数调用它。据我所知,herehere以及其他各种各样的地方,因为字符串是char数组,因此没有相关的函数,因此他们只是实现了索引功能。作为函数调用的Matlab子串?

MWE:

fileID = fopen('tryMe.env'); 
outDate = fgetl(fileID); 

凡文件'tryMe.env'只包括1行,像这样:

2014/9/4 

我想结果是:

outDate = 
    '14/9/4' 

我试图找到一个干净,光滑的一个衬垫去与outDate的变量定义,东西沿着outDate = fgetl(fileID)(3:end);的行,而不是几行代码。

谢谢你的时间!

+0

这是可能的,但我要问:你为什么住不两行? – 2014-09-24 06:13:46

+0

http://stackoverflow.com/questions/3627107/how-can-i-index-a-matlab-array-returned-by-a-function-without-first-assigning-it – Cheery 2014-09-24 06:17:25

+0

我想我也习惯了很多C,并且只是珍惜最小但功能和可读的代码。我想在Cheery的链接上发布的答案,两行解决方案更帅。谢谢 – Tubbles 2014-09-24 06:25:05

回答

1

你给具体的例子,好像

outDate=textscan(fileID, '%*2c%infc') 

会做什么,你想要的(跳过2个字符,然后读取,直到行尾)。

如果您正在尝试读取日期,您稍后想要将日期作为日期进行处理,如比较,差异等,则还可以在fgetl行上使用datenum。或者,如果你想有一个标准化的日期字符串,例如

outDate=datestr(datenum(fgetl(fileID)),'yy/mm/dd') 

将产生字符串'14/09/04'

+0

是的,谢谢,看来你的第一个例子就是我正在寻找的东西,因为我只需要将字符串处理为输入 – Tubbles 2014-09-24 08:33:44