4

给定一个字符串元胞数组,我想构建一个 regexprep 规则,以便将不同的字符串类型替换为某个数字。IE:

my_cell = {'ok', 'ok', 'bad', 'broken', 'bad', 'broken', 'ok'};

我知道如何一一替换每种字符串类型,即:

my_cell = regexprep(my_cell,'ok$','1');

但理想情况下,我想建立一个规则,这样ok它将被替换1bad将被替换,0broken被替换-1

关于如何做到这一点的任何提示?

4

2 回答 2

4

怎么样:

>> my_cell = regexprep(my_cell,{'ok$','bad$','broken$'},{'1','0','-1'});
于 2012-08-11T19:40:32.590 回答
3

这里有文档:http: //www.mathworks.co.uk/help/techdoc/ref/regexprep.html

它给出的语法如下:s = regexprep('str', 'expr', 'repstr')

它还说:“如果 expr 和 repstr 都是字符串元胞数组,则 expr 和 repstr 必须包含相同数量的元素,并且 regexprep 将每个 repstr 元素与其在 expr 中的匹配元素配对。”

因此,您可以尝试这样的事情:

my_cell = regexprep(my_cell, {'^ok$', '^bad$', '^broken$'}, {'1', '0', '-1'});

(未经测试)

于 2012-08-11T19:40:43.320 回答