对许多人来说,这可能是一项非常简单的任务,但我找不到适合我的任何内容。
我有一个文件名:filenm_A006.2011.269.10.47.G25_2010
我想将其所有部分(由.
和_
分隔)分开使用它们。我怎么能用简单的matlab命令来做呢?
亲切的问候,
亩施
答案 0 :(得分:5)
我推荐regexp:
fname = 'filenm_A006.2011.269.10.47.G25_2010';
parts = regexp(fname, '[^_.]+', 'match');
parts =
'filenm' 'A006' '2011' '269' '10' '47' 'G25' '2010'
您现在可以参考零件{1}到零件{8}来查看零件。说明:正则表达式模式[^_.]
表示所有字符不等于_
或.
,而+
表示您需要至少包含1个字符的组。然后'match'要求regexp函数返回该模式的所有匹配字符串的单元格数组。还有其他正则表达式模式;例如,文件的每个部分的索引。
答案 1 :(得分:1)
使用该命令
strsplit
cellArrayOfParts = strsplit(fileName,{'.' '_'});
答案 2 :(得分:1)
您可以使用strsplit
拆分它:
strsplit('filenm_A006.2011.269.10.47.G25_2010',{'_','.'})
ans =
'filenm' 'A006' '2011' '269' '10' '47' 'G25' '2010'
另一种选择是像Peter建议的那样使用regexp
。