adding space before capital letters in variable names
16 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commento
Jan
il 18 Dic 2012
Please use meaningful tags only. I do not see a connection to "legends" or "varargin" here.
Risposta accettata
Image Analyst
il 18 Dic 2012
Modificato: Image Analyst
il 18 Dic 2012
Thinking that this may be homework, here's a hint:
s = 'varNameOne'
upperCaseIndexes = s >= 'A' & s <= 'Z'
Some related File Exchange submissions:
0 Commenti
Più risposte (4)
Daniel Shub
il 18 Dic 2012
Modificato: Daniel Shub
il 18 Dic 2012
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 Commenti
Ryan G
il 18 Dic 2012
% 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 Commenti
Walter Roberson
il 18 Dic 2012
I wrote that?? I must have been frustrated with someone and deliberately being obscure...
Jan
il 18 Dic 2012
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 Commenti
Daniel Shub
il 18 Dic 2012
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.
Vedere anche
Categorie
Scopri di più su Labels and Annotations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!