How to use regexp in a cell array whose cells may contain cell entries
1 次查看(过去 30 天)
显示 更早的评论
Hello,
Ι have the following cell array
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/857275/image.png)
I want to use -regexp to find where 'Carbon fixation' is written.
I would use: regexp(model.subSystems,'Carbon fixation');
The problem is that some cells contain cell entries, so this is a problem.
I want to find where (and especially in which row) 'Carbon fixation' is written, in any cell in any cell entry.
Can anyone help me? Thank you!
4 个评论
Stephen23
2022-1-8
"The problem is that some cells contain cell entries, so this is a problem. "
All of them do:
>> all(cellfun(@iscell,model.subSystems))
ans =
logical
1
采纳的回答
Stephen23
2022-1-8
编辑:Stephen23
2022-1-8
Your data:
S = load('model.subSystems.mat');
model = S.model;
Getting indices of nested cells which contain the requested text:
fnh = @(c)any(~cellfun(@isempty,regexpi(c,'Carbon fixation')));
idx = cellfun(fnh,model.subSystems);
Checking:
find(idx)
model.subSystems{193}{:}
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!