从文本文件或字符串阅读格式化数据
从打开的文本文件中读取数据到单元格数组中,C
= TextScan(fileid.
,formatspec.
)C
.文本文件由文件标识符表示,fileid.
. 使用打开外部文件
打开文件并获取fileid.
价值。当您从一个文件中读取完成时,通过调用文件关闭(文件标识)
.
文本扫描
中的转换说明符尝试匹配文件中的数据formatspec.
.的文本扫描
功能重新填充formatspec.
在整个文件中并在无法匹配时停止formatspec.
的数据。
使用读取文件数据C
= TextScan(fileid.
,formatspec.
,N
)formatspec.
N
次,在哪里N
为正整数。从文件中读取额外的数据N
周期,叫文本扫描
再次使用原件fileid.
. 如果通过调用文本扫描
使用相同的文件标识符(fileid.
), 然后文本扫描
自动恢复读取最后读取的点。
从字符向量中读取文本C
= TextScan(chr
,formatspec.
)chr
为细胞数组C
.当从字符向量读取文本时,重复调用文本扫描
每次从开始重新启动扫描。要从最后一个位置重新启动扫描,请求a位置
输出。
文本扫描
尝试匹配字符向量中的数据chr
的指定格式formatspec.
.
用来C
= TextScan(chr
,formatspec.
,N
)formatspec.
N
次,在哪里N
为正整数。
读取包含浮点数的字符向量。
chr='0.41 8.24 3.57 6.24 9.27'; C=文本扫描(chr,'%F');
这说明符'%F'
在formatspec.
告诉文本扫描
匹配每个领域chr
到双重精度浮点数。
显示单元格数组的内容C
.
celldisp(C)
C{1} = 0.4100 8.2400 3.5700 6.2400 9.2700
读取相同的字符向量,并将每个值截断为一个十进制数字。
C = textscan(空空的,'%3.1f%* 1d');
这说明符% 3.1度
表示3位数的字段宽度和1的精度。文本扫描
函数总共读取3位数,包括小数点和小数点后的十进制点和1位数。说明者,% * 1 d
,告诉文本扫描
跳过剩下的数字。
显示单元格数组的内容C
.
celldisp(C)
C{1} = 0.4000 8.2000 3.5000 6.2000 9.2000
读取表示一组十六进制数字的字符矢量。表示十六进制数的文本包括数字0
-9
,信A.
-F
或A.
-F
,以及可选的前缀0 x
或0 x
.
匹配中的字段己烯
若要十六进制数,使用'%X'
说明符。的文本扫描
函数将字段转换为无符号64位整数。
六边形='0xFF 0x100 0x3C5E A F 10'; C=文本扫描(十六进制数,'%X')
C =1 x1单元阵列{6 x1 uint64}
显示内容C
作为一排矢量。
转置(C {:})
ans=1x6 uint64行向量255 256 15454 10 15 16
可以将字段转换为8、16、32或64位的有符号或无符号整数。将字段转换为己烯
带符号的32位整数,使用'%xs32'
说明符。
C = textscan (hexnums'%xs32');转置(C {:})
ans=1x6 int32行向量255 256 15454 10 15 16
您还可以指定用于解释输入的字段宽度。在这种情况下,前缀朝向字段宽度计数。例如,如果将字段宽度设置为三个,则%3x.
,然后文本扫描
将文本“0 xaf 100”
分成三段文字,'0xA'
,'F'
,“100”
. 它将三段文本视为不同的十六进制数。
c = textScan(“0 xaf 100”,“% 3 x”);转置(C {:})
ans=1x3 uint64行向量15 256
读取表示一组二进制数字的字符矢量。表示二进制数的文本包括数字0
和1.
,以及可选的前缀0 b
或0 b
.
匹配中的字段binnums
到二进制数,使用'%b'
说明符。的文本扫描
函数将字段转换为无符号64位整数。
binnums ='0b101010 0b11 0b100 1001 10';C = textscan (binnums'%b')
C =1 x1单元阵列{5x1 uint64}
显示内容C
作为一排矢量。
转置(C {:})
ans=1x5 uint64行向量42 3 4 9 2
可以将字段转换为8、16、32或64位的有符号或无符号整数。将字段转换为binnums
带符号的32位整数,使用'%bs32'
说明符。
C = textscan (binnums'%bs32');转置(C {:})
ans=1x5 int32行向量42 3 4 9 2
您还可以指定用于解释输入的字段宽度。在这种情况下,前缀朝向字段宽度计数。例如,如果将字段宽度设置为三个,则%3B.
,然后文本扫描
将文本'0b1010 100'
分成三段文字,“0 b1”
,“010”
,“100”
.它将这三段文本视为不同的二进制数。
c = textScan('0b1010 100','%3b');转置(C {:})
ans=1x3 uint64行向量1 2 4.
加载数据文件并读取具有适当类型的每一列。
加载文件scan1.dat.
并在文本编辑器中预览其内容。屏幕截图如下所示。
文件名=“scan1.dat”;
打开文件,使用适当的转换说明符读取每一列。文本扫描
返回一个1-by-9
细胞阵列C
.
文件标识= fopen(文件名);c = textscan(fileID,'%s %s %f32 %d8 %u %f %f %s %f');文件关闭(文件标识);谁C
名称大小字节类类属性C 1x9 2105单元格
查看中的每个单元格的MATLAB®数据类型C
.
C
C=1×9单元阵列列1到5 {3x1 cell} {3x1 cell} {3x1 single} {3x1 int8} {3x1 uint32}
检查各个条目。请注意,C{1}
和C{2}
是细胞阵列。c {5}
是数据类型的UINT32
的前两个元素c {5}
是a的最大值32
-bit无符号整数,或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} =二级C {2} {3} = Level3 C {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(fileID,'%s水平%d%f32%d8%u%f%f%s%f');文件关闭(文件标识);C{2}
ans=3x1 int32列向量1 2 3.
查看Matlab®数据类型的第二个单元格C
.第二个细胞1-by-9
细胞阵列,C
,现在是数据类型INT32.
.
disp(类(C {2}))
INT32.
将前面示例中的文件的第一列读入单元格数组,跳过该行的其余部分。
文件名=“scan1.dat”;文件标识= fopen(文件名);日期= textscan(fileid,“%s%*[^\n]”);文件关闭(文件标识);日期{1}
ans=3 x1细胞{' 09/12/2005}{‘10/12/2005}{' 11/12/2005 '}
文本扫描
返回单元格数组日期。
加载文件data.csv
并在文本编辑器中预览其内容。屏幕截图如下所示。注意,该文件包含用逗号分隔的数据,并且也包含空值。
读取文件,将空单元格转换为负
.
文件名=“data.csv”;文件标识= fopen(文件名);c = textscan(fileID,'%f%f%f%f%f',......“分隔符”,”、“,'extupvalue',-inf);文件关闭(文件标识);column4 = c {4},column5 = c {5}
column4 =2×14负
column5 =2x1 uint8列向量0 11
文本扫描
返回一个1-by-6
细胞阵列,C
.的文本扫描
函数转换中的空值C{4}
来负
, 在哪里C{4}
与浮点格式相关联。因为MATLAB®表示无符号整数负
作为0
,文本扫描
转换中的空值c {5}
来0
, 并不是负
.
加载文件data2.csv.
并在文本编辑器中预览其内容。屏幕截图如下所示。注意,该文件包含可以解释为注释和其他条目的数据,例如“NA”
或'na'
这可能表示空字段。
文件名=“data2.csv”;
指定所需的输入文本扫描
应视为注释或空值,并扫描数据到C
.
文件标识= fopen(文件名);c = textscan(fileID,'%s %n %n %n',“分隔符”,”、“,......“TreatAsEmpty”, {“NA”,'na'},“CommentStyle”,'//');文件关闭(文件标识);
显示输出。
celldisp(C)
C{1} = abc C{2} = def C{2} = 2 NaN C{3} = NaN 5 C{4} = 3 6 C{5} = 4 7
加载文件data3.csv.
并在文本编辑器中预览其内容。屏幕截图如下所示。注意,该文件包含重复的分隔符。
文件名='data3.csv';
要将重复的逗号视为单个分隔符,请使用MultipleDelimsAsOne
参数,并将该值设置为1.
(真正的
).
文件标识= fopen(文件名);c = textscan(fileID,'%f %f %f',“分隔符”,”、“,......'multipledelimsone'1);文件关闭(文件标识);celldisp(C)
c {1} = 1 5 c {2} = 2 6 c {3} = 3 7 c {4} = 4 8
加载数据文件Gradet.txt.txt.
并在文本编辑器中预览其内容。屏幕截图如下所示。注意,该文件包含重复的分隔符。
文件名='grades.txt';
使用格式读取列标题'%s'
四次。
文件标识= fopen(文件名);formatSpec ='%s';n = 4;c_text = textscan(fileId,formatspec,n,“分隔符”,'|');
读取文件中的数字数据。
C_data0 = textscan(文件标识,'%d %f %f')
C_data0 =1×4单元阵列{4x1 int32} {4x1 double} {4x1 double} {4x1 double}
默认值CollectOut.
是0
(假
),所以文本扫描
在单独的数组中返回数字数据的每一列。
将文件位置指示器设置为文件的开头。
Frewind(fileid);
重新读取文件并将CollectOutput设置为1 (true)以将同一类的连续列收集到一个数组中。你可以使用repmat.
函数指示% f
转换说明符应出现三次。当格式重复多次时,此技术非常有用。
C_text=textscan(文件ID,'%s'N“分隔符”,'|');C_data1 = textscan(文件标识,'%d'repmat ('%F',[1,3])],“CollectOutput”1)
C_data1 =1×2单元阵列{4x1 int32} {4x3 double}
测试分数都是双倍的,收集到一个4乘3的数组中。
关闭文件。
fclose(fileid);
从文本文件中读取数据的第一列和最后一列。跳过一列文本和一列整数数据。
加载文件names.txt
并在文本编辑器中预览其内容。屏幕截图如下所示。请注意,该文件包含两列引用的文本,然后是一列整数,最后一列浮点数。
文件名='names.txt';
读取文件中的第一列和最后一列数据。使用转换说明符,%问
阅读用双引号括起来的文本("
).%*q
跳过引用的文字,%*d
跳过整数字段,% f
读取浮点数。使用使用的逗号分隔符“分隔符”
名称-值对参数。
fileid = fopen(文件名,“r”);c = textscan(fileID,'%q %q % d %f',“分隔符”,”、“);文件关闭(文件标识);
显示输出。文本扫描
返回单元格数组C
将去掉包围文本的双引号。
celldisp(C)
C{1}{1} = Smith, J. C{1}{2} = Bates, G. C{1}{3} = Curie, M. C{1}{4} = Murray, G. C{1}{5} = Brown, K. C{2} = 71.1000 69.3000 64.1000 133.0000 64.9000
加载文件german_dates.txt
并在文本编辑器中预览其内容。屏幕截图如下所示。请注意,第一列值包含德语日期,第二列和第三列是数值。
文件名=“german_dates.txt”;
打开文件。指定与文件关联的字符编码方案,作为最后一个输入打开外部文件
.
fileid = fopen(文件名,“r”,“n”,“iso - 8859 - 15”);
读取文件。使用指定文件中日期的格式%{dd%MMMM-yyyy}D
说明符。属性指定日期的区域设置datelocale.
名称-值对参数。
c = textscan(fileID,“{dd MMMM yyyy}D%f%f”,......“DateLocale”,“de_DE”,“分隔符”,”、“);文件关闭(文件标识);
查看c中第一个单元格的内容。日期显示在MATLAB使用的语言中,这取决于您的系统区域设置。
C{1}
ans=3 x1 datetime2014年1月1日2014年2月1日2014年3月1日
使用把格式数据写成串
在数据中转换非默认转义序列。
创建包含表单馈送字符的文本,\F
.然后,用文本扫描
呼叫把格式数据写成串
以显式转换表单提要。
抒情= sprintf(“黑鸟将那\ fdead \ \ fsinging \鳍\相脱节\ fnight ');C = textscan(抒情,'%s','delimiter'sprintf (“\f”)); C{1}
ans=7x1电池{'Blackbird'}{'sing'}{'in'}{'the'}{'dead'}{'of'}{'night'}
文本扫描
返回一个单元格数组,C
.
从开始位置以外的位置继续扫描。
如果你重新扫描文本,文本扫描
每次都从一开始就读。要从任何其他位置恢复扫描,请在初始呼叫中使用双输出参数语法文本扫描
.
例如,创建一个名为歌词
.读取字符向量的第一个单词,然后恢复扫描。
抒情=“黑鹂在夜间唱歌”; [第一个单词,pos]=文本扫描(歌词,'%9c'1);lastpart = textscan(抒情(pos + 1:结束),'%s');
fileid.
—文件标识符打开文本文件的文件标识符,指定为数字。在阅读文件之前文本扫描
,你必须使用打开外部文件
打开文件并获取fileid.
.
数据类型:双倍的
formatspec.
—数据字段的格式数据字段的格式,指定为字符向量或一个或多个转换说明符的字符串。什么时候文本扫描
读取输入,它尝试将数据与指定的格式匹配formatspec.
.如果文本扫描
如果无法匹配数据字段,它将停止读取并返回失败前读取的所有字段。
转换说明符的数量决定了输出数组中的单元格数量,C
.
数值字段
此表列出了用于数字输入的可用转换说明符。
数字输入类型 | 转换说明符 | 输出类 |
---|---|---|
整数,签名 | % d |
INT32. |
% d8 |
int8 |
|
% d16 |
int16 |
|
% d32 |
INT32. |
|
% d64 |
INT64. |
|
整数,无符号 | % u |
UINT32 |
%u8 |
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 |
读写作为字符向量的小区数组。 |
%问 |
读写作为字符向量的小区数组。如果文本以双引号开始( 例子: |
|
日期和时间 | % D |
以同样的方式阅读 |
%{ |
以同样的方式阅读 有关DateTime显示格式的更多信息,请参阅 例子: |
|
持续时间 | % T |
以同样的方式阅读 |
%{ |
以同样的方式阅读 有关持续时间显示格式的详细信息,请参阅 例子: |
|
类别 | % C |
以同样的方式阅读 |
模式匹配 | %[...] |
读写为字符向量的单元格阵列,括号内的字符向上到第一个非匹配字符。包括 例子: |
%[^...] |
排除括号内的字符,直到第一个匹配的字符为止。排除 例子: |
可选的运营商
中的转换说明符formatspec.
可以包括可选操作符,它们以以下顺序出现(为清晰起见,包括空格):
可选运算符包括:
要忽略的字段和字符
文本扫描
按顺序读取文件中的所有字符,除非您告诉它忽略特定字段或字段的一部分。
在百分比字符(%)后面插入星号字符(*),以跳过一个字段或字符字段的一部分。
操作员 |
采取行动 |
---|---|
% * |
跳过这个领域。 例子: |
' % * |
跳到 例子: |
' % * |
跳过 |
字段宽度
文本扫描
读取字段宽度或精度指定的字符数或数字,或者最多读取第一个分隔符,以先代是这样。小数点,标志(+
或-
)数字指数中的、指数字符和数字将计为字段宽度内的字符和数字。对于复数,字段宽度指实部和虚部的单独宽度。对于虚部,场宽度包括+或− 但不是我
或J
.通过在转换说明符中的百分比(%)之后通过插入数字来指定字段宽度。
例子:%5f.
读取'123.456'
作为123.4
.
例子:%5C.
读取“abcdefg”
作为”中的“
.
当字段宽度运算符与单个字符一起使用时(% c
),文本扫描
还读取了分隔符,空白空间和行结束字符。
例子:%7C.
读取7个字符,包括空格,因此'日夜'
读起来像“天”
.
精确
对于浮点数(% n
,% f
,% f32
,% f64
),您可以指定要读取的小数位数。
例子:%7.2f.
读取'123.456'
作为123.45
.
要忽略的文字
文本扫描
的附加文本formatspec.
转换说明符。
例子:%与水平
读取“使”
作为1.
.
例子:%U8步骤
读取'2Step'
作为2.
.
数据类型:char
|细绳
N
—申请的次数formatspec.
正
(默认)|正整数申请的次数formatspec.
,指定为正整数。
数据类型:单
|双倍的
|int8
|int16
|INT32.
|INT64.
|uint8.
|uint16
|UINT32
|UINT64
chr
—输入文本输入文本读取。
数据类型:char
|细绳
指定可选的逗号分隔的字符对名称、值
参数。的名字
参数名和价值
为对应值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
C = TextScan(fileID,formatspec,'标题',3,'delimiter',',')
跳过数据的前三行,然后读取剩余数据,将逗号视为分隔符。
名称不区分大小写。
“CollectOutput”
—逻辑指示器确定数据串联假
(默认)|真正的
确定数据连接的逻辑指示符,指定为由逗号分隔的对组成“CollectOutput”
,要么真正的
或假
.如果真正的
,然后导入函数将同一基本MATLAB的连续输出单元连接起来®班级进入一个数组。
“CommentStyle”
—指示要忽略的文本的符号指定要忽略的文本的符号,指定为逗号分隔对,由“CommentStyle”
字符向量、字符向量的单元数组、字符串或字符串数组。
例如,指定一个字符,例如“%”
忽略同一行上符号后面的文本。指定两个字符向量的单元格数组,例如{'/*','*/'}
,忽略这些序列之间的任何文本。
MATLAB只在每个字段的开头检查注释,而不是在字段内。
例子:“CommentStyle ',{'/*','*/'}
数据类型:char
|细绳
“DateLocale”
—阅读日期的场所用于阅读日期的区域设置,指定为逗号分隔的配对“DateLocale”
和一个字符向量
, 在哪里xx
_yy.
xx
是小写的ISO 639-1两个字母的代码,它指定了一种语言,并且yy.
是指定国家的大写ISO 3166-1 alpha-2代码。有关区域设置的公共值列表,请参见语言环境
的名称-值对参数约会时间
功能。
使用datelocale.
要指定所使用的语言环境,请执行以下操作:文本扫描
应该在使用该文本时解释周名称和缩写的月份和缩写% D
格式说明符。
例子:“DateLocale”、“ja_JP”
“分隔符”
—字段分隔符字符字段分隔符字符,指定为逗号分隔对,由“分隔符”
以及字符向量或字符向量的单元数组。在字符向量的单元格数组中指定多个分隔符。
例子:'delimiter',{';','*'}
文本扫描
将重复的分隔字符解释为单独的分隔符,并将空值返回到输出单元格。
在每行数据中,默认字段分隔符为空白。空格可以是空格的任意组合(' '
),退格(“\ b”
)或标签('\ t'
)字符。如果不指定分隔符,则:
分隔符字符与空白字符相同。默认的空白空间字符是' '
,“\ b”
,'\ t'
. 使用the“空格”
参数名-值对指定备用空白字符。
文本扫描
将重复的空白字符解释为单个分隔符。
当您将以下一个转义序列指定为分隔符时,文本扫描
将该序列转换为相应的控制字符:
\ B. |
退格 |
\ n |
新线 |
\ R. |
回车 |
\ |
选项卡 |
\\ |
反斜杠(\ ) |
数据类型:char
|细绳
'extupvalue'
—空数字字段的返回值楠
(默认)|标量分隔文本文件中的空数字字段的返回值,指定为逗号分隔的对,由'extupvalue'
和一个标量。
“换行”
—行尾字符线端字符,指定为逗号分隔对组成“换行”
和一个字符向量或字符串。字符向量必须为“\ r \ n”
或者它必须指定一个字符。常见的行终点字符是换行符(“\n”
)或回车('\ r'
).如果您指定“\ r \ n”
,然后导入函数处理任何一个\ R.
,\ n
,以及两者的组合(\ r \ n
)作为行尾字符。
默认的行结束序列为\ n
,\ R.
,或\ r \ n
,取决于您的文件的内容。
如果在文件的最后一行末尾有缺失的值和行结束序列,那么导入函数将为这些字段返回空值。这确保了输出单元格数组中的单个单元格,C
,大小是相同的。
例子:'排队',':'
数据类型:char
|细绳
“ExpChars”
—指数字符'eedd'
(默认)|字符向量|细绳指数字符,指定为逗号分隔对,由“ExpChars”
和一个字符向量或字符串。默认的指数字符为E
,E
,D
,D
.
数据类型:char
|细绳
“头线”
—标题线数0
(默认)|正整数标题行数,指定为逗号分隔对,包括“头线”
和一个正整数。文本扫描
跳过标题行,包括当前行的其余部分。
'multipledelimsone'
—多分隔符处理0(假)
(默认)|1(真正的)
多个分隔符处理,指定为逗号分隔对,由'multipledelimsone'
,要么真正的
或假
.如果真正的
,则导入函数将连续分隔符视为单个分隔符。由空白分隔的重复分隔符也被视为单个分隔符。还必须指定分隔符
选项。
例子:“MultipleDelimsAsOne”,1
“ReturnOnError”
—时的行为文本扫描
读取或转换失败1(真正的)
(默认)|0(假)
时的行为文本扫描
未能读取或转换,指定为逗号分隔的对组成“ReturnOnError”
,要么真正的
或假
.如果真正的
,文本扫描
没有错误终止并返回读取的所有字段。如果假
,文本扫描
以错误终止且不返回输出单元格数组。
“TreatAsEmpty”
—将占位符文本视为空值要作为空值处理的占位符文本,指定为由逗号分隔的对组成“TreatAsEmpty”
以及字符向量、字符向量的单元格数组、字符串或字符串数组。此选项仅适用于数字字段。
数据类型:char
|细绳
“空格”
—空白字符'\ b \ t'
(默认)|字符向量|细绳空白字符,指定为逗号分隔对,由“空格”
以及包含一个或多个字符的字符向量或字符串。文本扫描
添加空格字符,Char(32)
,任何指定的空格
,除非空格
是空的(''
) 和formatspec.
包括任何转换说明符。
将以下转义序列之一指定为任何空白字符时,文本扫描
将该序列转换为相应的控制字符:
\ B. |
退格 |
\ n |
新线 |
\ R. |
回车 |
\ |
选项卡 |
\\ |
反斜杠(\ ) |
数据类型:char
|细绳
'texttype'
—输出数据类型的文本“字符”
(默认)|'细绳'
文本的输出数据类型,指定为逗号分隔对,由'texttype'
,要么“字符”
或'细绳'
.如果指定值“字符”
,然后文本扫描
以字符向量单元格数组的形式返回文本。如果指定值'细绳'
,然后文本扫描
返回类型为数组的文本细绳
.
C
—文件或文本数据文件或文本数据,作为单元格数组返回。
中的每个数字转换说明符formatspec.
, 这文本扫描
函数返回一个K
-by-1 MATLAB数值矢量到输出单元阵列,C
, 在哪里K
是次数文本扫描
查找与说明符匹配的字段。
对于每个文本转换说明符(% s
,%问
,或%[...]
)在formatspec.
, 这文本扫描
函数返回一个K
- 1个字符向量的单元格阵列,其中K
是次数文本扫描
查找与说明符匹配的字段。对于每个包含字段宽度操作符的字符转换,文本扫描
返回一个K
-经过-M
字符阵列,在哪里M
是字段宽度。
中的每个datetime或分类转换说明符formatspec.
, 这文本扫描
函数返回一个K
-by-1 datetime或分类向量的输出单元格数组,C
, 在哪里K
是次数文本扫描
查找与说明符匹配的字段。
位置
- 文件或字符向量中的位置扫描结束时的位置,在文件或字符向量中,作为类的整数返回双倍的
.为一个文件,ftell
(文件标识)
是否在调用后返回相同的值文本扫描
.对于角色矢量,位置
指示有多少个字符文本扫描
阅读。
文本扫描
根据关于溢出,截断和使用的MATLAB规则将数字字段转换为指定的输出类型楠
,正
,负
.例如,MATLAB代表一个整数楠
零。如果文本扫描
找到与整数格式说明符相关联的空字段(例如% d
或% u
),则返回空值为0而非楠
.
将数据与文本转换说明符匹配时,文本扫描
读取,直到找到分隔符或行结束符。当将数据与数字转换说明符匹配时,文本扫描
读取直到它找到一个非数字字符。什么时候文本扫描
属性中的下一个转换说明符不能再匹配数据到特定的转换说明符,它尝试将数据匹配到formatspec.
. 标志(+
或-
)、指数字符和小数点被认为是数字字符。
标志 | 数字 | 小数点 | 数字 | 指数的性格 | 标志 | 数字 |
---|---|---|---|---|---|---|
如果存在,请阅读一个标志字符。 | 读取一个或多个数字。 | 如果存在,读一个小数点。 | 如果有小数点,请阅读立即跟随它的一个或多个数字。 | 读取一个指数字符(如果存在)。 | 如果有指数字符,请阅读一个标志字符。 | 如果有指数字符,则读取其后面的一个或多个数字。 |
文本扫描
将任何复数数导入到一个复杂的数字字段中,将实部和虚部转换为指定的数字类型(例如% d
或% f
).复数的有效形式有:
± ±<图像放大>我| j |
例子: |
±<图像放大>我| j |
例子: |
不要在复数中包含内嵌空格。文本扫描
将嵌入式空格解释为字段分隔符。
Sie Haben AUF EINEN LINK GEKLICKT,DER DIESEM MATLAB-BEFEHL ONTSPRICHT:
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus。Webbrowser unterstützen keine MATLAB-Befehle。
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。