带括号的 MATLAB 正则表达式

MATLAB regexprep with parentheses

给定一个字符串元胞数组:

CellArray={'(first)';'second';'x(third)';'four)'; '(...)'};

我想要以下结果:

newCellArray={'first';'second';'x(third)';'four)';'...'};

即我只想删除位于单词开头和结尾的括号...

我想使用类似的东西:

newCellArray = regexprep(CellArray,expression,replace);

但是遗憾的是,我尝试了很多次都没有成功...

您可以使用 beginning and end anchors with a token capture and a back-replace:

>> expr = '^\((.+)\)$';
>> CellArray = {'(first)';'second';'x(third)';'four)'; '(...)'};
>> newCellArray = regexprep(CellArray,expr,'')

newCellArray = 

    'first'
    'second'
    'x(third)'
    'four)'
    '...'