我有以下格式的字符串:
fileName.jpg,10,20,10,10,...,12,14,True
基本上,我有一个带有逗号分隔值的字符串。第一个值是一个字符串,然后是一个包含 100 个值的数组,最后是另一个字符串是真或假。
有没有办法或直接将这些值读入 3 个变量?两个字符串和一个数组?值数组可能包含n\a
我想要视为-1
或类似的值,或者使用单元格数组并为这些值设置一个空单元格?你能为这类问题推荐一些东西吗?
我有以下格式的字符串:
fileName.jpg,10,20,10,10,...,12,14,True
基本上,我有一个带有逗号分隔值的字符串。第一个值是一个字符串,然后是一个包含 100 个值的数组,最后是另一个字符串是真或假。
有没有办法或直接将这些值读入 3 个变量?两个字符串和一个数组?值数组可能包含n\a
我想要视为-1
或类似的值,或者使用单元格数组并为这些值设置一个空单元格?你能为这类问题推荐一些东西吗?
您可以使用textscan
:
n = 100; % number of integers between filename and logical values
M = textscan(str, ['%s' repmat('%d',1, n) '%s'], 'delimiter', ',',...
'TreatAsEmpty', 'n\a', 'EmptyValue', -1, 'CollectOutput', true);
结果M
是一个单元格数组,第一个单元格中包含文件名,第二个单元格中包含 100 个整数值,最后一个单元格中包含一个包含逻辑值的字符串。
您可以使用strsplit
和提取字符串中的值并将它们存储在单独的变量中
代码示例:
a = strsplit("fileName.jpg,10,20,10,10,...,12,14,True",",")
fileName = a(1)
flag = a(end)
data = a(2:end-1)