主要内容

textscan

从文本文件或字符串读取格式化的数据

描述

例子

C= textscan (文件标识,formatSpec)从一个开放的文本文件中读取数据到一个细胞阵列,C。文本文件由文件标识符,表示文件标识。使用打开外部文件打开文件并获得文件标识价值。当你读完从文件,关闭文件通过调用文件关闭(文件标识)

textscan尝试匹配中的数据文件的转换说明符formatSpec。的textscan函数重新申请formatSpec在整个文件并停止当它不能匹配formatSpec的数据。

例子

C= textscan (文件标识,formatSpec,N)读取文件数据使用formatSpecN次,N是一个正整数。额外的数据从文件后阅读N周期,叫textscan再次使用原文件标识。如果您的简历通过调用一个文本扫描文件textscan相同的文件标识符(文件标识),然后textscan自动恢复阅读在这地方终止最后一读。

例子

C= textscan (空空的,formatSpec)读取文本特征向量空空的为细胞数组C。当阅读文本的特征向量,重复调用textscan每次重新启动扫描从一开始。从最后一个位置,请求重新启动扫描位置输出。

textscan尝试匹配字符的数据向量空空的中指定的格式formatSpec

C= textscan (空空的,formatSpec,N)使用formatSpecN次,N是一个正整数。

例子

C= textscan (___,名称,值)使用一个或多个指定选项名称,值对参数,除了任何输入参数在前面的语法。

例子

(C,位置)= textscan (___)返回文件的位置或特征向量的扫描作为第二个输出参数。为一个文件,这个价值ftell(文件标识)将返回后调用textscan。一个特征向量,位置显示多少个字符textscan阅读。

例子

全部折叠

阅读包含浮点数的特征向量。

空空的=的0.41 8.24 3.57 6.24 9.27;C = textscan(空空的,' % f ');

这说明符' % f 'formatSpec告诉textscan在每个字段相匹配空空的双精度浮点数。

显示单元阵列的内容C

celldisp (C)
C {1} = 0.4100 8.2400 3.5700 6.2400 - 9.2700

读相同的特征向量,截断每个值到一个十进制数字。

C = textscan(空空的,' % 3.1 f % * 1 d ');

这说明符% 3.1度显示字段的宽度3位数和精度为1。的textscan函数读取总共3位数,包括小数点,小数点后1位。说明符,% * 1 d,他告诉textscan跳过剩余的数字。

显示单元阵列的内容C

celldisp (C)
C {1} = 0.4000 8.2000 3.5000 6.2000 - 9.2000

读一个特征向量代表一组十六进制数字。包括数字文本表示十六进制数字0- - - - - -9,信一个- - - - - -f一个- - - - - -F,选择前缀0 x0 x

在匹配字段hexnums使用十六进制数字' % x '说明符。的textscan将字段转换为无符号64位整数。

hexnums =“0 xff x100 0 x3c5e 10 F”;C = textscan (hexnums' % x ')
C =1 x1单元阵列{6 x1 uint64}

显示的内容C作为一个行向量。

置(C {:})
ans =1 x6 uint64行向量255 256 15454 10 15 16

你可以将字段转换为符号(或无符号整数,有8、16、32或64位。将字段hexnums签署了32位的整数,使用“% xs32”说明符。

C = textscan (hexnums“% xs32”);置(C {:})
ans =1 x6 int32行向量255 256 15454 10 15 16

您还可以指定一个字段宽度解释输入。在这种情况下,前缀数量字段宽度。例如,如果您将字段宽度设置为3,如% 3 x,然后textscan将文本“0 xaf 100”成三块的文本,“0 xa”,“F”,“100”。它对待文本的三块不同的十六进制数字。

C = textscan (“0 xaf 100”,“% 3 x”);置(C {:})
ans =1 x3 uint64行向量15 256

读一个特征向量代表一组二进制数。包括数字文本表示二进制数字01,选择前缀0 b0 b

在匹配字段binnums使用二进制数“% b”说明符。的textscan将字段转换为无符号64位整数。

binnums =“10 0 b101010 0 b11 0 b100 1001”;C = textscan (binnums“% b”)
C =1 x1单元阵列{5 x1 uint64}

显示的内容C作为一个行向量。

置(C {:})
ans =1 x5 uint64行向量42 3 4 9 2

你可以将字段转换为符号(或无符号整数,有8、16、32或64位。将字段binnums签署了32位的整数,使用“% bs32”说明符。

C = textscan (binnums“% bs32”);置(C {:})
ans =1 x5 int32行向量42 3 4 9 2

您还可以指定一个字段宽度解释输入。在这种情况下,前缀数量字段宽度。例如,如果您将字段宽度设置为3,如% 3 b,然后textscan将文本“0 b1010 100”成三块的文本,“0 b1”,“010”,“100”。对待文本的三块不同的二进制数。

C = textscan (“0 b1010 100”,“% 3 b”);置(C {:})
ans =1 x3 uint64行向量1 2 4

加载数据文件和读取每一列与适当的类型。

加载文件scan1.dat在文本编辑器和预览其内容。一个屏幕截图如下所示。

文件名=“scan1.dat”;

打开文件,读每一列与适当的转换说明符。textscan返回一个1-by-9单元阵列C

文件标识= fopen(文件名);C = textscan(文件标识,' % s % s % f32 % d8 % u % % f % s % f ');文件关闭(文件标识);谁C
类属性名称大小字节C 1 x9 2105细胞

MATLAB®数据视图类型的每一个细胞C

C
C =1×9单元阵列{3 x1细胞}{3 x1细胞}{3 x1单}{3 x1 int8} {3 x1 uint32} {3 x1双}{3 x1双}{3 x1细胞}{3 x1双}

检查单个条目。请注意,C {1}C {2}是细胞阵列。C {5}的数据类型uint32,所以前两个元素C {5}的最大值32位无符号整数,或intmax (“uint32”)

celldisp (C)
C {1} {1} = 09/12/2005 C {1} {2} = 10/12/2005 C {1} {2} {3} = 11/12/2005 C{1} =使C{2}{2}{2}{3} =二级C = C Level3 {3} = 12.3400 23.5400 34.9000 C {4} = 45 60 12 C {5} = 4294967295 4294967295 200000 C{6} =正从10 C{7} =南0.0010 - 100.0000 C {8} {1} = Yes C{8}{2} =没有C{8}{3} =没有C{9} = 5.1000 + 3.0000我2.2000 - 0.5000 3.1000 + 0.1000

删除文字的文本“水平”从第二列中的每个字段的数据从前面的示例。预览的文件如下所示。

打开文件和匹配的文字文本formatSpec输入。

文件名=“scan1.dat”;文件标识= fopen(文件名);C = textscan(文件标识,“% s % d % f32 % d8 % u % % f % s % f ');文件关闭(文件标识);C {2}
ans =3 x1 int32列向量1 2 3

查看MATLAB®第二个单元格的数据类型C。第二个单元格1-by-9单元阵列,C现在的数据类型int32

disp(类(C {2}))
int32

读文件的第一列在前面示例单元阵列,跳过其余的线。

文件名=“scan1.dat”;文件标识= fopen(文件名);日期= textscan(文件标识,' % s % * ^ \ [n] ');文件关闭(文件标识);日期{1}
ans =3 x1细胞{' 09/12/2005}{‘10/12/2005}{' 11/12/2005 '}

textscan返回一个单元阵列日期。

加载文件data.csv在文本编辑器和预览其内容。一个屏幕截图如下所示。注意逗号分隔的文件包含的数据,还包含空值。

读取文件,将空细胞

文件名=“data.csv”;文件标识= fopen(文件名);C = textscan(文件标识,' % % % f % f %与% f ',“分隔符”,”、“,“EmptyValue”、负);文件关闭(文件标识);column4 = C {4}, column5 = C {5}
column4 =2×14负
column5 =2 x1 uint8列向量0 11

textscan返回一个1-by-6单元阵列,C。的textscan函数将空值C {4},在那里C {4}是关联到一个浮点格式。由于MATLAB®表示无符号整数作为0,textscan空值的转换C {5}0,而不是

加载文件data2.csv在文本编辑器和预览其内容。一个屏幕截图如下所示。注意这个文件包含的数据可以被解释为评论和其他条目等“NA”“na”这可能表明空字段。

文件名=“data2.csv”;

指定的输入textscan应该视为注释或空值和扫描数据C

文件标识= fopen(文件名);C = textscan(文件标识,' % s % n % n % n % n ',“分隔符”,”、“,“TreatAsEmpty”,{“NA”,“na”},“CommentStyle”,' / / ');文件关闭(文件标识);

显示输出。

celldisp (C)
abc C C {1} {1} = {1} {2} = def C{2} = 2南C{3} =南5 C {4} = 3 6 C {5} = 4 7

加载文件data3.csv在文本编辑器和预览其内容。一个屏幕截图如下所示。注意这个文件包含重复的分隔符。

文件名=“data3.csv”;

把重复的逗号作为一个分隔符,使用MultipleDelimsAsOne参数,并设置值1(真正的)。

文件标识= fopen(文件名);C = textscan(文件标识,“% % % f % f”,“分隔符”,”、“,“MultipleDelimsAsOne”1);文件关闭(文件标识);celldisp (C)
{1}= 1 5 C {2} = 2 6 C {3} = 3 7 C {4} = 4 8

加载数据文件grades.txt对于这个示例和预览它的内容在一个文本编辑器。一个屏幕截图如下所示。注意这个文件包含重复的分隔符。

文件名=“grades.txt”;

使用格式读取列标题' % s '四次。

文件标识= fopen(文件名);formatSpec =' % s ';N = 4;formatSpec C_text = textscan(文件标识,N,“分隔符”,“|”);

读文件中的数字数据。

C_data0 = textscan(文件标识,' % d % f % f % f ')
C_data0 =1×4单元阵列{4 x1 int32} {4 x1双}{4 x1双}{4 x1双}

的默认值CollectOutput0(),所以textscan回报每一列的数字数据在一个单独的数组。

设置文件的文件开始位置指示器。

frewind(文件标识);

重读文件并设置CollectOutput 1(真正的)收集同一个类的连续列到一个数组中。您可以使用repmat函数来表示% f转换说明符应该出现三次。这个技巧非常有用当格式重复很多次。

C_text = textscan(文件标识,' % s 'N“分隔符”,“|”);C_data1 = textscan(文件标识,' % d 'repmat (' % f '[1,3])),“CollectOutput”,1)
C_data1 =1×2单元阵列{4 x1 int32} {4 x3双}

考试成绩,这都是双,收集到一个4-by-3数组。

关闭该文件。

文件关闭(文件标识);

读的第一和最后一列数据从一个文本文件。跳过一列整数数据的文本和一个列。

加载文件names.txt在文本编辑器和预览其内容。一个屏幕截图如下所示。注意引用文本文件包含两列,紧随其后的是一列整数,浮点数的最后一列。

文件名=“names.txt”;

读的第一个和最后一个列中的数据文件。使用转换说明符,%问用双引号括起来读课文()。% *问跳过引用文本,% * d跳过了整数字段,和% f读取浮点数。指定逗号分隔符使用“分隔符”名称-值对的论点。

文件标识= fopen(文件名,“r”);C = textscan(文件标识,' % q % d * q % * % f ',“分隔符”,”、“);文件关闭(文件标识);

显示输出。textscan返回一个单元阵列C在双引号封闭文本被删除。

celldisp (C)
C{1}{1} =史密斯,j . C{1}{2} =贝茨,g . C{1}{3} =居里,m . C{1}{4} =穆雷,g . C{1}{5} =布朗,k . C {2} = 71.1000 69.3000 64.1000 133.0000 - 64.9000

加载文件german_dates.txt在文本编辑器和预览其内容。一个屏幕截图如下所示。注意,第一列的值包含日期在德国和第二和第三列数值。

文件名=“german_dates.txt”;

打开文件。指定字符编码方案相关文件作为输入打开外部文件

文件标识= fopen(文件名,“r”,“n”,“iso - 8859 - 15”);

读取该文件。指定日期的格式在文件中使用% {dd %嗯yyyy} D说明符。指定日期的场所使用DateLocale名称-值对的论点。

C = textscan(文件标识,' % D {dd嗯yyyy} % f % f ',“DateLocale”,“de_DE”,“分隔符”,”、“);文件关闭(文件标识);

查看第一个单元格的内容在c语言MATLAB中的日期显示使用取决于您的系统语言环境。

C {1}
ans =3 x1 datetime2014年3月01 2014年1月1日2014年2月01

使用sprintf在你的数据将默认的转义序列。

创建文本,包括一种饲料的性格,\ f。然后,阅读文本使用textscan,叫sprintf显式转换形式。

抒情= sprintf (“黑鸟将那\ fdead \ \ fsinging \鳍\相脱节\ fnight ');C = textscan(抒情,' % s ',“分隔符”sprintf (“\ f”));C {1}
ans =7 x1细胞{“黑鸟”}{‘唱歌’}{在‘}{的}{‘死’}{的‘}{‘夜’}

textscan返回一个单元阵列,C

简历从其他位置开始扫描。

如果你的简历扫描的文本,textscan每次读取从一开始。重新扫描从任何其他位置,使用两个输出参数在初始调用语法textscan

例如,创建一个特征向量歌词。阅读第一个单词的特征向量,然后恢复扫描。

抒情=“黑鸟在夜深人静的时候唱歌”;[firstword, pos] = textscan(歌词,' % 9 c '1);lastpart = textscan(抒情(pos + 1:结束),' % s ');

输入参数

全部折叠

文件标识符的一个开放的文本文件,指定为一个数字。在阅读文件textscan,您必须使用打开外部文件打开文件并获得文件标识

数据类型:

格式的数据字段,指定为一个特征向量或字符串的一个或多个转换说明符。当textscan读取输入,它试图匹配指定的数据格式formatSpec。如果textscan与数据字段不匹配,它停止阅读并返回所有字段读前失败。

转换说明符的数量决定了细胞的数量在输出数组中,C

数值字段

此表列出了可用的转换为数字输入说明符。

数字输入类型 转换说明符 输出类
整数,签署了 % d int32
% d8 int8
% d16 int16
% d32 int32
% d64 int64
整数,无符号 % u uint32
%与 uint8
% u16 uint16
% u32 uint32
% u64 uint64
浮点数 % f
% f32
% f64
% n
十六进制数,无符号整数 % x uint64
% xu8 uint8
% xu16 uint16
% xu32 uint32
% xu64 uint64
十六进制数,带符号整数 % xs8 int8
% xs16 int16
% xs32 int32
% xs64 int64
二进制数,无符号整数 % b uint64
% bu8 uint8
% bu16 uint16
% bu32 uint32
% bu64 uint64
二进制数,带符号整数 % bs8 int8
% bs16 int16
% bs32 int32
% bs64 int64

非数字字段

此表列出了可用的转换说明符包含非数字字符的输入。

非数字输入类型 转换说明符 细节
字符 % c 阅读任何单个字符,包括分隔符。
文本数组 % s 阅读作为一个单元阵列的特征向量。
%问

阅读作为一个单元阵列的特征向量。如果文本以双引号开始(),省略主要引号和配套的关闭标记,这是一个孤独的双引号的第二个实例。取代逃脱双引号(例如,”“abc”“)与孤独的双引号(“abc”)。%问忽略任何出现的双引号后关闭双引号。

例子:“% q”读取“乔”“闪电”“史密斯,Jr。”作为“乔“闪电”史密斯,Jr。”

日期和时间 % D

读一样%问上面,然后转换为一个datetime值。

% {fmt}D

读一样%问上面,然后将它转换成一个datetime值。fmt描述的格式输入文本。的fmt输入的字母标识符是一个特征向量是一个有效的值格式datetime的属性。textscan将这个格式不匹配的文本NaT值。

关于日期时间显示格式的更多信息,请参阅格式财产datetime数组。

例子:' % {dd-MMM-yyyy} D '指定一个日期的格式等' 01 - 1月- 2014

持续时间 % T

读一样%问上面,然后转换为一个时间值。

% {fmt}T

读一样%问上面,然后将它转换成一个时间值。fmt描述的格式输入文本。的fmt输入的字母标识符是一个特征向量是一个有效的值格式房地产的持续时间。textscan将这个格式不匹配的文本值。

关于时间显示格式的更多信息,请参阅格式属性的数组。

例子:' % {hh: mm: ss} T '指定的格式等“10:30:15”代表10小时30分钟,15秒。

类别 % C

读一样%问,然后转换为分类的类别名称数组。textscan转换<定义>文本分类数组中的一个未定义的值输出。

模式匹配 % […]

阅读作为一个单元阵列的特征向量,括号内的字符第一nonmatching字符。包括]在一组,指定它首先:% []…]

例子:%(亩)读取“夏天”作为“夏”

% ^ […]

排除字符在括号内,阅读,直到第一个匹配字符。排除]首先,指定:% [^]…]

例子:% (^ xrg]读取“夏天”作为“summe”

可选的运营商

转换说明符formatSpec可以包含可选的运营商,它出现在下列顺序(包括空间清晰):

* % * 5.2 f,指定忽略,5是字段宽度,2是精度,f是转换角色。”height=

可选的操作包括:

  • 字段和字符,不容忽视

    textscan读取文件中的所有字符序列,除非你告诉它忽略一个特定的领域或领域的一部分。

    插入一个星号(*)百分比后字符(%)跳过一个字段或字符字段的一部分。

    操作符

    采取行动

    % *k

    跳过这个领域。k是跳过任何转换说明符识别领域。textscan不会创建一个输出单元等领域。

    例子:' % s % * % s % s % * % * %年代”(空间是可选的)转换文本
    “黑鸟在夜深人静的时候唱歌”分为四个输出细胞
    “黑鸟”的“的”“晚上”

    ' % *n年代

    跳过了n字符,n是一个整数的数量小于或等于字符。

    例子:% * 3年代% s转换英语字母的“defg”。一个逗号分隔符时,同样的分隔符转换中的,fghijkl”单元阵列包含“德”,“ijkl”

    ' % *nc '

    跳过n字符(包括分隔符字符。

  • 字段宽度

    textscan读取指定数量的字符或数字的字段宽度或精度,或第一个分隔符,以先到期者作准。一个小数点,符号(+- - - - - -)、指数字符和数字的数值指数中算作字符和数字字段宽度。对于复杂的数字,字段宽度是指个人实部和虚部的宽度。虚部,字段宽度包括+或−但不是j。指定字段宽度后插入一个数字字符转换说明符(%)的百分比。

    例子:% 5 f读取“123.456”作为123.4

    例子:% 5度读取英语字母的作为”中的“

    当字段宽度运营商使用单个字符(% c),textscan也读分隔符、空白和行尾字符。
    例子:% 7 c读7字符,包括空白,所以“昼夜”读起来像“天”

  • 精度

    对于浮点数(% n,% f,% f32,% f64),您可以指定的小数位数。

    例子:% 7.2度读取“123.456”作为123.45

  • 文字可忽略

    textscan忽略了文本附加到formatSpec转换说明符。

    例子:%与水平读取“使”作为1

    例子:% u8Step读取的2个步骤作为2

数据类型:字符|字符串

多次申请formatSpec,指定为一个正整数。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输入文本阅读。

数据类型:字符|字符串

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:C = textscan(文件标识、formatSpec HeaderLines, 3,“分隔符”,“,”)跳过第一个三行数据,然后读取剩余的数据,将逗号作为分隔符。

名称不区分大小写的。

逻辑确定指标数据连接,指定为逗号分隔组成的“CollectOutput”,要么真正的。如果真正的细胞,然后导入函数连接连续输出相同的基本MATLAB®类为一个数组。

忽略符号指定文本,指定为逗号分隔组成的“CommentStyle”一个特征向量,单元阵列特征向量,字符串或字符串数组。

例如,指定一个字符等“%”忽视文本符号在同一行。指定一个单元阵列的两个特征向量,如{“/ *”、“* /”}这些序列之间,忽略任何文本。

MATLAB检查评论只在每个字段的开始,不是在一个字段中。

例子:CommentStyle, {“/ *”、“* /”}

数据类型:字符|字符串

语境对阅读日期,指定为逗号分隔组成的“DateLocale”和一个特征向量形式xx_YY,在那里xx是小写的ISO 639 - 1两个字母的代码指定一种语言,然后呢YY是一个大写的ISO 3166 - 1α2代码指定了一个国家。语言环境的共同价值观,看到语言环境名称-值对的理由datetime函数。

使用DateLocale指定的场所textscan应该解释月和星期的名称和缩写词在阅读文本时使用的日期% D格式说明符。

例子:“DateLocale”、“ja_JP”

字段分隔符字符,指定为逗号分隔组成的“分隔符”和一个字符特征向量的向量或一个单元阵列。指定多个分隔符单元阵列的特征向量。

例子:“分隔符”,{‘;’,‘*’}

textscan解释重复作为单独的分隔符分隔符的字符,并返回一个空值输出单元。

在每一行的数据,默认的字段分隔符是空白。空白可以任意组合的空间(' '),退格(“\ b”),或者选项卡(' \ t ')字符。如果你不指定分隔符,那么:

  • 分隔符字符一样的空白字符。默认的空白字符' ',“\ b”,' \ t '。使用“空格”名称-值对参数来指定替代空白字符。

  • textscan重复空白字符解释为一个单一的分隔符。

当你指定的转义序列作为一个分隔符,textscan转换序列对应的控制字符:

\ b 退格
\ n 换行符
r \ 回车
\ t 选项卡
\ \ 反斜杠(\)

数据类型:字符|字符串

返回值为空的数值字段在分隔的文本文件中,指定为逗号分隔组成的“EmptyValue”和一个标量。

行尾字符,指定为逗号分隔组成的“EndOfLine”和一个字符或字符串向量。特征向量必须“\ r \ n”或者它必须指定一个字符。常见的行尾字符是一个换行符(' \ n ')或回车(' \ r ')。如果您指定“\ r \ n”,然后导入函数对待任何r \,\ n,两者的结合(\ r \ n)行尾字符。

默认的行结束序列\ n,r \,或\ r \ n,这取决于你的文件的内容。

如果有缺失值和最后一个行尾序列中的最后一行一个文件,然后导入函数返回空值的字段。这将确保单个细胞在输出单元阵列,C,都是一样的大小。

例子:‘EndOfLine’,‘:’

数据类型:字符|字符串

指数字,指定为逗号分隔组成的“ExpChars”和一个字符或字符串向量。默认的指数字符e,E,d,D

数据类型:字符|字符串

标题行,指定为逗号分隔组成的“HeaderLines”和一个正整数。textscan跳过标题行,包括剩余的当前行。

多个分隔符处理,指定为逗号分隔组成的“MultipleDelimsAsOne”,要么真正的。如果真正的,然后导入函数对连续分隔符作为一个分隔符。重复分隔符分隔的空白也作为一个分隔符。您还必须指定分隔符选择。

例子:“MultipleDelimsAsOne”, 1

时的行为textscan无法读取或转换,指定为逗号分隔组成的“ReturnOnError”,要么真正的。如果真正的,textscan没有一个错误并返回所有字段读终止。如果,textscan终止与一个错误和不返回一个输出单元阵列。

占位符文本处理空值,指定为逗号分隔组成的“TreatAsEmpty”一个特征向量,单元阵列特征向量,字符串或字符串数组。此选项只适用于数值字段。

数据类型:字符|字符串

空白字符,指定为逗号分隔组成的“空格”和一个特征向量包含一个或多个字符或字符串。textscan添加一个空格字符,char (32),任何指定空格,除非空格是空的(),formatSpec包括任何转换说明符。

当你指定的任何空白字符转义序列,textscan转换序列对应的控制字符:

\ b 退格
\ n 换行符
r \ 回车
\ t 选项卡
\ \ 反斜杠(\)

数据类型:字符|字符串

输出数据类型的文本,指定为逗号分隔组成的“TextType”,要么“字符”“字符串”。如果指定值“字符”,然后textscan返回文本单元阵列的特征向量。如果指定值“字符串”,然后textscan返回文本作为一个数组的类型字符串

输出参数

全部折叠

文件或文本数据,作为细胞数组返回。

对于每一个数字转换说明符formatSpec,textscan函数返回一个K1 MATLAB数值向量输出单元阵列,C,在那里K的次数textscan发现一个字段匹配说明符。

为每个文本转换说明符(% s,%问,或% […])formatSpec,textscan函数返回一个K1单元阵列特征向量,K的次数textscan发现一个字段匹配说明符。为每个字符转换,包括字段宽度运营商,textscan返回一个K——- - - - - -字符数组,是字段宽度。

为每一个datetime或分类转换说明符formatSpec,textscan函数返回一个K1 datetime或分类向量输出单元阵列,C,在那里K的次数textscan发现一个字段匹配说明符。

位置的扫描,文件或特征向量,作为一个整数返回的类。为一个文件,ftell(文件标识)调用后将返回相同的值吗textscan。一个特征向量,位置显示多少个字符textscan阅读。

算法

textscan将数值字段转换为指定的输出类型根据MATLAB规则关于溢出,截断和使用,,。例如,MATLAB是一个整数为零。如果textscan找到一个空的字段与整数格式说明符(如有关% d% u),它将返回空值为零,而不是

当匹配数据文本转换说明符,textscan读取,直到找到一个分隔符和行尾字符。当匹配数据数字转换说明符,textscan读取,直到找到一个非数字字符。当textscan再也不能匹配的数据到一个特定的转换说明符,它尝试匹配数据中的下一个转换说明符formatSpec。号(+- - - - - -)、指数字符和小数点数字字符。

数字-12.345 e + 6, +迹象。1、2、3、4、5、6位数。周期或点是小数点。e是指数的性格。”height=

标志 数字 小数点 数字 指数的性格 标志 数字
读一个标志字符如果它存在。 读取一个或多个数字。 读一个小数点,如果它存在。 如果有一个小数点,读一个或多个数字立即跟随它。 读一个指数的性格如果它存在。 如果有一个指数,读一个标志人物。 如果有指数字符,读取一个或多个数字,跟随它。

textscan进口任何复杂的数字作为一个整体为一个复杂数字字段,将实部和虚部转换为指定的数值类型(如% d% f)。有效的复数形式:

±<真正>±<图像放大>我| j

例子:5.7 - -3.1我

±<图像放大>我| j

例子:7 j

不包括嵌入空格复数。textscan解释嵌入空格作为字段分隔符。

扩展功能

版本历史

之前介绍过的R2006a

全部展开