如何在使用文本扫描时跳过(和)?

时间:2017-03-19 13:43:22

标签: matlab textscan

我试图逐行读取文本文件中的数字。文件中的每一行都是这样的:

  

(563,478),(630,573),1

我尝试了下面的命令,但它没有工作:

textscan(f1, '%d%d%d%d%d', 'delimiter', ',');

如何跳过")" "(" ?我想只读取数字。

Here是其中一个文本文件。 (红色按钮)

1 个答案:

答案 0 :(得分:2)

你可以这样做:

textscan(f1, '(%d,%d),(%d,%d),%d')

扫描文件或

sscanf(f1, '(%d,%d),(%d,%d),%d')

扫描字符串。

用法(在Octave测试):

f1 = fopen('005.txt','r');
c=textscan(f1, '(%d,%d),(%d,%d),%d');
fclose(f1);


f1 = '(401,596),(443,636),1'
sscanf(f1,'(%d,%d),(%d,%d),%d')