如何在Matlab中读取文件中的空格?

时间:2016-11-17 13:43:25

标签: matlab file-read

我想从包含所有空格的文件中读取所有字符,我正在尝试的是

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

但结果不正确,因为它只计算除空格以外的所有字符。

  

那么我该怎么做,任何帮助都会受到赞赏?

我想用空格读取文件。

Image is attached here

1 个答案:

答案 0 :(得分:1)

因此,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'参数设置为{{1}不要将空格视为空格,因此也不要将空格视为空间。

''