2

文字列内の各「_」の前に「\」を文字列配列に挿入しようとしています。これを実行しようとしている理由は、プロットの凡例でシート名を使用するときに、xls ファイルから取得したシート名の形式を維持するためです。私は使用してみました:

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

ただし、2 つのコマンドを凡例に他の 2 つのラベルとして追加するだけです。この解決策をヘンスします。シート名を検索して、置き換える方法を見つけましたが、可能であれば文字を置き換えたくありません。これを行う方法があれば、私に知らせてください。

4

2 に答える 2

2

代わりにこれを試してください:

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

中かっこの代わりに括弧を使用していることに注意してください。これにより、セルのコンテンツの代わりにLEGENDにセルが渡されます(つまり、コンテンツのインデックスの代わりにセルのインデックスが作成されます)。これにより、追加のパラメーター/値のペアが適切に解釈されるようになります。

于 2012-06-12T20:32:35.993 に答える
1

各セル要素に文字列置換関数を適用する場合は、次のように実行できます。

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

これはstrrep(x,'_','\_')のすべての要素に適用さsheetnamesれ、新しい cell 配列として出力されます ( のため'uniformoutput',false)。

于 2012-06-13T07:26:20.673 に答える