2016-11-17 283 views
1

我想從包括所有的空間,我試圖讀取文件中的所有字符是如何從Matlab中的文件讀取空格?

fileRead = textread('myFile.txt', '%c'); 
disp('Characters total') 
disp(length(fileRead)) 

但結果是不正確的,因爲其只計算除了空間中的所有字符。

那麼,我該怎麼做,任何幫助將不勝感激?

我想用空格讀取文件。

Image is attached here

+0

除了空格嗎?你在計算所有這些數據,包括空間,鑽井? –

+0

文檔說,如果你使用'%c',那麼它將包括所有的空格,但是當我粘貼我的txt文件在MS字,然後它說不同的結果意味着它不包括空格 –

+0

我確實信任MATLAB超過MS字,以說實話....你可以發佈[mcve] –

回答

0

於是就textread幫助(或更好的替代textscan)是不是在%c格式說明如何處理空白的超清晰。

如果只是用一個單一的%c,它會在一個時間閱讀一個字符,但在這種情況下,空白仍在繼續,因爲它屬於兩個單字符匹配之間被當作一個分隔符。

什麼文件指的是約%c匹配的空白是,如果你指定%c符(%<length>c)預期的長度,然後空格將被列入比賽。

textread('z.txt', '%12c') 
% my name is z 

如果你只是想在整個文件作爲一個字符數組閱讀,我只想用fread與用於訪問文件內容,如果你並不需要一個低級別的功能'*char'數據類型根本解析它們。

fid = fopen('z.txt', 'r'); 
data = fread(fid, '*char').'; 

disp(numel(data)) 

如果你真的想用textread,另一種選擇是使用%s(串)格式說明,而不是性格符和'Whitespace'參數設置爲''不把空格當作空白,因此一個分隔符。

textread('z.txt', '%s', 'whitespace', '')