给定一个字符串的单元格数组,我想构建一个regexprep规则,以便将不同的字符串类型替换为某个数字。即:
my_cell = {'ok', 'ok', 'bad', 'broken', 'bad', 'broken', 'ok'};
我知道如何逐个替换每个字符串类型,即:
my_cell = regexprep(my_cell,'ok$','1');
但理想情况下,我想构建一条规则,以便ok
替换为1
,bad
将替换为0
和broken
将替换为-1
。
有关如何执行此操作的任何提示?
答案 0 :(得分:4)
怎么样:
>> my_cell = regexprep(my_cell,{'ok$','bad$','broken$'},{'1','0','-1'});
答案 1 :(得分: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'});
(未测试的)