【发布时间】:2012-08-22 13:27:17
【问题描述】:
我的单元格数组 res 有 3x2 的单元格,每个单元格都包含一个字符串。我想将 regexp 应用于每个单元格,它应该如下所示:
fin = cellfun(@regexp(res, '\.', 'split'),res,'UniformOutput',false)
但是它并没有完成这项工作。有谁知道如何正确组合?
【问题讨论】:
标签: regex matlab cell-array
我的单元格数组 res 有 3x2 的单元格,每个单元格都包含一个字符串。我想将 regexp 应用于每个单元格,它应该如下所示:
fin = cellfun(@regexp(res, '\.', 'split'),res,'UniformOutput',false)
但是它并没有完成这项工作。有谁知道如何正确组合?
【问题讨论】:
标签: regex matlab cell-array
您在正确的轨道上,但是您的匿名函数的语法是错误的。试试这个:
fin = cellfun(@(x)regexp(x, '\.', 'split'), res, 'UniformOutput', false)
【讨论】:
regexp 可以自行处理元胞数组作为输入。所以不再需要真正的手机游戏了。
cellfun...
如果您有一个单元格“res”,它由数字和字符串组成,并且想在“res”的每个字符中将“a”替换为“b”,那么您应该使用以下内容:
idx_isNumeric = @(x) any(isnumeric(x));
idx_isNumeric2 = cellfun(idx_isNumeric, res);
res( ~idx_isNumeric2 ) = regexprep( res( ~idx_isNumeric2 ), 'a', 'b');
希望对你有帮助;)
【讨论】: