我正在尝试编写一个程序,如果它包含特定字符串,则删除元胞数组的索引。
例如,如果函数的输入值为 ({'Hello how are you?', 'I'm fine thank you', 'Have a nice day!'}, 'you')
,只会返回字符串 'Have a nice day!'
。
这是我目前所拥有的(它不会删除索引,只会删除它出现的实例):
function d = take_out(v, s)
d = regexprep(v(:), s, '');
end
最佳答案
试试这个:
function d = take_out(v, s)
d = v(cellfun('isempty', regexp(v(:), s)));
end
regexp(v(:), s)
为 v
的每个单元格返回一个(可能为空)向量,其中包含 每次出现的整数索引>s
。 cellfun('isempty', ...)
检查这些向量是否为空,并返回一个逻辑索引,用于选择 v
的适当单元格。
关于matlab - 删除子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30446721/