adding space before capital letters in variable names
25 ビュー (過去 30 日間)
古いコメントを表示
if I'm converting a variable name to a string in a function, how can I put a space before every capital letter in the input variable? eg, if the input is:
varNameOne
how can I convert this to
var name one
for formatting legend entries?
1 件のコメント
Jan
2012 年 12 月 18 日
Please use meaningful tags only. I do not see a connection to "legends" or "varargin" here.
採用された回答
Image Analyst
2012 年 12 月 18 日
編集済み: Image Analyst
2012 年 12 月 18 日
Thinking that this may be homework, here's a hint:
s = 'varNameOne'
upperCaseIndexes = s >= 'A' & s <= 'Z'
Some related File Exchange submissions:
0 件のコメント
その他の回答 (4 件)
Daniel Shub
2012 年 12 月 18 日
編集済み: Daniel Shub
2012 年 12 月 18 日
You can use REGEXPREP. To just add a space before every uppercase letter
regexprep('varNameOne', '([A-Z])', ' $1')
To add a space before every uppercase letter and convert that letter to lower case
regexprep('varNameOne', '([A-Z])', ' ${lower($1)}')
0 件のコメント
Ryan G
2012 年 12 月 18 日
% a string
s='varNameOne';
% the engine
ix=ismember(s,'A':'Z');
Then input the space (credit to Walter from a newsgroup thread circa 2008)
V = s;
P = find(ix==1)-1;
N = ' ';
for i = 1:numel(P)
V = [diag(kron(V.',ones(1,P(i))));N;flipud(diag(kron(flipud(V.'),ones(1,length(V)-P(i)))))].'
P = P+1;
end
2 件のコメント
Walter Roberson
2012 年 12 月 18 日
I wrote that?? I must have been frustrated with someone and deliberately being obscure...
Jan
2012 年 12 月 18 日
Actually I assume that this is a homework, too. It will not be easy to submit one of these solutions without cheating. And of course your teacher knows this forum also. Nevertheless, it is a funny problem and I think, if you spend the time to find out, how each of the solution works, you will have learned enough for today. But do not expect, that we solve homeworks in general.
S = 'varNameOne';
T(1, 2:end) = lower(S);
T(2, isstrprop(S, 'upper')) = ' ';
T = reshape(T(~~T)), 1, []);
2 件のコメント
Daniel Shub
2012 年 12 月 18 日
I interpreted the for "formatting legend entries" part of the question as meaning it was not homework. Most doit4me questions aren't creative enough to come up with a reason to want what they are asking for.
参考
カテゴリ
Help Center および File Exchange で Legend についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!