Matlab - 使用单引号或正常字符串生成scanf检测字符串

时间:2015-04-19 22:18:05

标签: matlab

我正在使用fscanf阅读文本文件。每行以3个浮点数开头,以“aaa bb ccccc”或abc结尾。例如:

1.3 1.4 3.5 hello
4.5 66 4.3 'hi there k'
1.3 1.4 3.7 something

我想使用fscanf仅提取这些数字。单引号会导致很多问题,%s无法正确检测字符串。

1 个答案:

答案 0 :(得分:0)

如果您只想要可以使用的数字

A = textscan(fid, '%f%f%f%s', 'CommentStyle', {'''' ''''} )

...其中fid是来自fopen的文件ID。此hack的工作原理是使textscan命令将单个'标记视为注释。语法看起来很时髦,因为要在Matlab字符串中定义单引号,需要将4放在一起''''。单元格数组中有2个,因此CommentStyle将这些字符之间的任何内容视为块注释。