📄 str2cfg.m
字号:
function cfg = str2cfg(str, keywords)% String configuration to structure% CFG = STR2CFG(STR, KEYWORDS)% Parameters:% str - the configuration string% keywords - keywords to search in the string, will become structure fields% Should be a cell array of strings, or a structure. In the second case the structure% field names will be used as keywords.% Returns:% cfg - string configuration% % Binary, numeric or string values are supported. Fields which are present% on the string, but for which no value is assigned are treated as boolean% "true" values.% E.g.% cfg = str2cfg('alpha beta=2.5 gamma=value', {'alpha', 'beta', 'gamma', 'delta'}) produces% cfg = alpha: 1 (boolean true)% beta: 2.500% gamma: 'value'% delta: 0 (boolean false)if isstruct(keywords), % obtain field names keywords = fieldnames(keywords); end;slen = length(str);cfg = struct;for i = 1:length(keywords), kw = keywords{i}; kwlen = length(kw); ix = strfind(str, keywords{i}); if isempty(ix), continue; end; % no setting found ix = ix(1); % only first occurence matters after = ix + kwlen; % if no value given, interpreted as boolean true if (after > slen) || (str(after) ~= '='), cfg.(kw) = 1; continue; end; % otherwise, parse after equal val = strtok(str(after+1:end), ' '); % convert to numeric if possible if ~isempty(str2num(val)), val = str2num(val); end; cfg.(kw) = val;end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -