我有一个包含记录列表的文件,我一次解析一行。每条记录都以换行符分隔,每个值都以空格分隔。这只是一个简化的例子,但它具有与真实数据类似的结构。
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
这不是我想要的。
答案 0 :(得分:3)
这很有用。
[friendsName favoriteColor favoriteFood] = strsplit(lineInFile, " "){1,:}