2013-02-23 29 views
0

讀數據I具有以下列格式的字符串:如何從一個字符串

fileName.jpg,10,20,10,10,...,12,14,True

基本上,我有逗號分隔值的字符串。第一個值是一個字符串,然後它遵循100個值的數組,最後是另一個字符串是真或假。

有沒有辦法或直接讀取這些值到3變量?兩個字符串和一個數組? 值的數組可能包含n\a值,我想將其視爲-1或類似的東西,或者使用單元格數組併爲它們設置空單元格?你能爲我推薦一些這類問題嗎?

+0

您是否試過'正則表達式(s,',','split')'?或者簡單地用'strsplit()'來表示你的100個數值 – iTech 2013-02-23 17:01:40

+0

但是我應該如何在結尾處考慮字符串值呢? – Simon 2013-02-23 17:22:25

+0

Textscan應該可以正常工作。 – jerad 2013-02-23 17:34:35

回答

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值在最後一個單元格中。

0

您可以使用strsplit並從字符串中提取該值,並將其存儲在獨立的變量

代碼示例:

a = strsplit("fileName.jpg,10,20,10,10,...,12,14,True",",") 
fileName = a(1) 
flag = a(end) 
data = a(2:end-1)