MATLAB Function Reference    
strread

文字列から書式化されたデータを読む

表示

詳細

最初の4つの表示は、数値データのみを含む文字列について、使われるものです。入力文字列str が、任意のテキストデータを含んでいる場合は、エラーが生じます。

A = strread('str') は、文字列 str から数値データを読み、単一変数 A に配置します。

A = strread('str','',N) は、N ラインの数値データを読みます。ここで、N は、ゼロよりも大きい正の整数です。N が -1 の場合、strread は、文字列全体を読みます。

A = strread('str','',param,value,...) は、下の表に記述されているparamと値の組を使って、strread をカスタマイズします。

A = strread('str','',N,param,value,...) は、N ライン読み、param と値を使って、strread をカスタマイズします。

後半の4つの表示は、数値データ、または、非数値データを使うことができるものです。この場合、strread は、文字列 str からデータを読み、指定した format を使って、変数 A, B, C 等々に設定します。

各戻り引数のタイプは、format 文字列で与えられます。戻り引数の数は、format 文字列の中の変換指定子の数と一致する必要があります。文字列の中のフィールド数が、format 文字列の中のものより少ない場合、エラーが生じます。

文字列 format は、数値と戻り引数のタイプを決定するものです。戻り引数の数は、format 文字列の中のアイテム数です。format 文字列は、C 言語 fscanf ルーチンの変換指定子のサブセットや慣習もサポートしています。format 文字列に対する値は、下の表にリストされています。format 文字列の中の空白は、無視されます。

[A,B,C,...] = strread('str','format') は、文字列 str からデータを読み、指定した format を使って、変数 A, B, C 等々に設定します。これは、すべての文字列が読み込まれるまで、続けられます。

format
挙動
出力
文字列
(通常のキャラクタ)
一致したキャラクタを無視します。たとえば、ファイルの中で、数字に続く Dept が存在し、format'Dept' を使っているとすると、Dept をスキップして、数字のみを読みます。
なし
%d
符号付き整数値を読む
倍精度配列
%u
整数値を読む
倍精度配列
%f
浮動小数点値を読む
倍精度配列
%s
スペースを使った区切り子をもつ文字を読む
文字のセル配列
%q
文字を読みますが、ダブルコーテッションの中の文字を読むことができます。
文字のセル配列。ダブルコーテッションは含みません。
%c
スペースを含む文字列を読む
キャラクタ配列
%[...]
鍵括弧の中に指定したキャラクタを含む最大長の文字列を読む
文字のセル配列
%[^...]
鍵括弧の中に指定していないキャラクタを含む最大の長さをもつ空でない文字列を読む
文字のセル配列
%*...
% の代わり
* で指定されるキャラクタを無視する。
出力なし
%w...
%の代わり
w で指定されるフィールド幅を読む。%f フォーマットは、%w.pfをサポートします。ここで、w は、フィールド幅で、p は精度です。

[A,B,C,...] = strread('str','format',N) は、format 文字列を N 回、再利用して、データを読みます。N は、ゼロより大きい整数です。N が -1 の場合、strread は、全て文字列を読みます。

[A,B,C,...] = strread('str','format',param,value,...) は、下の表の中にリストされているように、param/値の組を使って、strread をカスタマイズします。

[A,B,C,...] = strread('str','format',N,param,value,...) は、フォーマット文字列をN 回再利用して、データを読み、param/値の組を使って、strread をカスタマイズします。

param

挙動
whitespace
\*で、*は、使っても
空白スペースとして、キャラクタ * のベクトルを取り扱う。デフォルトは、\b\r\n\t です。

b
f
n
r
t
\\
\'' or ''
%%
バックスペース
フォームフィード
New line
キャレッジリターン
水平タブ
バックスラッシュ
シングルコートマーク
パーセント符号
delimiter
区切りキャラクタ
区切りキャラクタの指定。デフォルトは、noneです。
expchars
指数キャラクタ
デフォルトは、eEdDです。
bufsize
正の整数
ビット単位での最大文字長の指定。デフォルトは、4095です。
headerlines
正の整数
ファイルの最初で、指定したライン数だけ無視します。
commentstyle
matlab
% の後のキャラクタを無視
commentstyle
shell
#の後のキャラクタを無視
commentstyle
c
/**/ の間のキャラクタを無視
commentstyle
c++
//の後のキャラクタを無視

注意

ユーザデータが、区切り子のようなスペース以外のキャラクタを使う場合、strread パラメータ 'delimiter' に区切り子を設定して使用する必要があります。たとえば、文字列 str が、区切り子としてセミコロンを使用する場合、つぎのコマンドを使います。

例題

参考

textread, sscanf


 strncmpi strrep