【问题标题】:Inputing '\' before a character in a string Matlab在字符串 Matlab 中的字符之前输入“\”
【发布时间】:2012-06-15 18:56:38
【问题描述】:

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

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

但它只是将这两个命令添加为图例中的另外两个标签。亨斯这个解决方案。我已经研究过通过工作表名称进行搜索并找到了如何替换,但如果可能的话我不想替换字符。如果有办法做到这一点,请告诉我。

【问题讨论】:

    标签: matlab plot legend


    【解决方案1】:

    试试这个:

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

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

    【讨论】:

      【解决方案2】:

      如果你想对每个单元格元素应用字符串替换函数,你可以这样做:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多