我有一个包含多个问题的txt文件,以及一个像这样的答案(真/假)
我想创建一个函数[Q,A] = load.test(filename)
我尝试了不同的方法,但似乎都没有。
[Q,A] = textread(filename,'%s %s');
This output here is the closest I've come:
'A'
'is'
'F'
'My'
'is'
'T'
我需要做什么?
答案 0 :(得分:2)
如果每个句子有多个.
,则Silas的解决方案将无效。你也这样松散了点。您也可以按照以下方式执行此操作:
fid = fopen('questions.txt');
data = textscan(fid, '%s','delimiter','\n')
fclose(fid);
Q = cellfun(@(x) x(1:end-2), data{1}, 'uni',0);
A = cellfun(@(x) x(end), data{1}, 'uni',0);
或者使用:
A = cellfun(@(x) x(end) == 'T',data{1});
获得所需的逻辑向量。
对于内容的文本文件:
地球是一个磁盘。 F
42是一切的答案。 Ť
你得到了
Q{1} = The globe is a disk.
Q{2} = 42 is the answer to everything.
A =
0
1
答案 1 :(得分:1)
根据documentation,您应该使用textscan
代替textread
如果您知道字符串被'分开。'或者你可以做的其他特定分隔符
parsed = textscan(file, '%s %s', 'delimiter', '.');