如何从 Matlab 中的文件中读取空格?
How to read Spaces from a file in Matlab?
我想从文件中读取所有字符,包括所有 spaces,我正在尝试的是
fileRead = textread('myFile.txt', '%c');
disp('Characters total')
disp(length(fileRead))
但结果不正确,因为它只计算除 space 之外的所有字符。
So how do i do that, any help would be appreciated?
我想用 spaces 读取文件。
Image is attached here
所以关于 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', '')
我想从文件中读取所有字符,包括所有 spaces,我正在尝试的是
fileRead = textread('myFile.txt', '%c');
disp('Characters total')
disp(length(fileRead))
但结果不正确,因为它只计算除 space 之外的所有字符。
So how do i do that, any help would be appreciated?
我想用 spaces 读取文件。
Image is attached here
所以关于 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', '')