在字符串Matlab中的字符前输入'\'

时间:2012-06-12 20:28:48

标签: matlab plot legend

我正在尝试在字符串中的每个'_'之前将'\'插入字符串数组中。我试图这样做的原因是当我使用图表图例中的工作表名称时,保持我从xls文件中提取的工作表名称的格式。我尝试使用:

  legend(sheetname{n},'Interpreter','none','Location','East')

但它只是将两个命令添加为图例中的另外两个标签。 Hense这个解决方案。我已经研究了通过sheetnames搜索并找到了如何替换,但我不想在可能的情况下替换字符。如果有办法,请告诉我。

2 个答案:

答案 0 :(得分:2)

请改为尝试:

legend(sheetname(n),'Interpreter','none','Location','East');

请注意使用括号而不是花括号,它将单元格传递给LEGEND而不是单元格的内容(即cell indexing instead of content indexing)。这应该允许正确解释附加参数/值对。

答案 1 :(得分:1)

如果要对每个单元格元素应用字符串替换函数,可以按如下方式执行:

cellfun(@(x) strrep(x,'_','\_'),sheetname,'uniformoutput',false)

这会将strrep(x,'_','\_')应用于sheetnames的所有元素,并将其作为新的单元格数组输出(因为'uniformoutput',false)。