一度に1行ずつ解析するレコードのリストを含むファイルがあります。各レコードは改行で区切られ、各値はスペースで区切られます。これは単純化された例ですが、実際のデータと同様の構造になっています。
Bob blue pizza
Sally red sushi
最初の値は名前、次に好きな色、次に好きな食べ物です。これが処理ループにあり、値ごとに変数を設定したいとします。最初の行では、私の値は次のようになります。
friendsName = "Bob";
favoriteColor = "blue";
favoriteFood = "pizza";
私はその行を読んで、
lineInFile = "Bob blue pizza";
strsplitは良い考えのように思えますが、文字列の行列ではなくセル配列を出力し、最終的には
strsplit(lineInFile, " ") =
{
[1,1] = Bob
[1,2] = blue
[1,3] = pizza
}
こんなもの欲しい
{friendsName,favoriteColor,favoriteFood} = strsplit(lineInFile, " ");
これは私に与えますerror: invalid lvalue function called in expression
配列は左辺値として使用できるので、試してみました
cell2mat(strsplit(lineInFile, " "))
ans = Bobbluepizza
それは私が望んでいることではありません。