2014-09-24 28 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