我正在使用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无法正确检测字符串。
答案 0 :(得分:0)
如果您只想要可以使用的数字
A = textscan(fid, '%f%f%f%s', 'CommentStyle', {'''' ''''} )
...其中fid是来自fopen
的文件ID。此hack的工作原理是使textscan
命令将单个'
标记视为注释。语法看起来很时髦,因为要在Matlab字符串中定义单引号,需要将4放在一起''''
。单元格数组中有2个,因此CommentStyle
将这些字符之间的任何内容视为块注释。