如何在单元格数组中查找子字符串

时间:2015-03-30 22:34:41

标签: regex string matlab cell-array

我正在尝试在MATLAB中使用regexp来搜索单元格数组中字符串中的两个单词。我的单元格数组包含

strings={'1abc_2def_ghi_AB_12A','1abc_2def_ghi_BD_19A','1abc_2def_ghi_CD_16A',}

如何构建表达式以在单元格数组中搜索包含'ghi''12'的字符串?

提前感谢您的任何帮助。

1 个答案:

答案 0 :(得分:1)

这个怎么样?

result = find(~cellfun(@isempty, regexp(strings, 'ghi')) & ...
    ~cellfun(@isempty, regexp(strings, 'AB')));

或者,使用单个正则表达式

result = find(~cellfun(@isempty, regexp(strings, '(ghi.*AB|ghi.*AB)')));