matlab - 嵌套文本扫描语句

标签 matlab file-io nested textscan

以下两个语句从输入文件 (fid) 中读取第一行,并将该行解析为由空格分隔的字符串。

a = textscan(fid,'%s',1,'Delimiter','\n');
b = textscan(a{1}{1},'%s');

我想知道此操作是否可以在单个语句中完成,其形式类似于以下内容(在语法上无效)。

b = textscan(textscan(fid,'%s',1,'Delimiter','\n'),'%s');

谢谢。

最佳答案

而不是

a = textscan(fid, '%s', 1, 'Delimiter', '\n');

你可以使用

a = fgetl(fid);

这会将 fid 中的下一行作为字符串返回(末尾的换行符被删除)。然后,您可以将该行拆分为空格分隔的 block ,如下所示:

b = regexp(a, '\s*', 'split');

综合:

b = regexp(fgetl(fid), '\s*', 'split');

请注意,这并不 100% 等同于您的代码,因为使用 textscan 添加了另一个单元格层(代表文件中的不同行)。但这不是问题,只需使用

b = {regexp(fgetl(fid), '\s*', 'split')};

如果您需要额外的细胞层。

关于matlab - 嵌套文本扫描语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8950112/

相关文章:

java - 如何获取JFrame中轴框的边界?

string - 为什么 matlab 不理解文件名中的 *?

python - 使用来自 Octave 音程的数据在python中进行二次编程

c++ - 从具有多列整数的文件中读取并将它们放入数组中

python - 如何在rpython程序中导入rlib以使用pypy的rpython进行翻译

JavaScript 和 XML Dom - 嵌套循环

Python numpy 相当于来自 MATLAB 的 bandpower()

java - 从文件中读取整数值 (Java)

python - 在 Python 中访问嵌套键

MYSQL:对具有特定值的行求和