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

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

我知道如何一一替换每个字符串类型,即:
my_cell = regexprep(my_cell,'ok$','1');

但理想情况下,我想建立一个规则,以便 ok 将替换为 1bad 将替换为 0broken 将替换为 -1

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

最佳答案

这里有文档: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'});

(未经测试)

关于regex - matlab regexprep 具有多个数字的多个字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11917000/

10-13 05:07