讀數據I具有以下列格式的字符串:如何從一個字符串
fileName.jpg,10,20,10,10,...,12,14,True
基本上,我有逗號分隔值的字符串。第一個值是一個字符串,然後它遵循100個值的數組,最後是另一個字符串是真或假。
有沒有辦法或直接讀取這些值到3變量?兩個字符串和一個數組? 值的數組可能包含n\a
值,我想將其視爲-1
或類似的東西,或者使用單元格數組併爲它們設置空單元格?你能爲我推薦一些這類問題嗎?
讀數據I具有以下列格式的字符串:如何從一個字符串
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個整數值,並且包含日誌ical值在最後一個單元格中。
您可以使用strsplit
並從字符串中提取該值,並將其存儲在獨立的變量
代碼示例:
a = strsplit("fileName.jpg,10,20,10,10,...,12,14,True",",")
fileName = a(1)
flag = a(end)
data = a(2:end-1)
您是否試過'正則表達式(s,',','split')'?或者簡單地用'strsplit()'來表示你的100個數值 – iTech 2013-02-23 17:01:40
但是我應該如何在結尾處考慮字符串值呢? – Simon 2013-02-23 17:22:25
Textscan應該可以正常工作。 – jerad 2013-02-23 17:34:35