adding space before capital letters in variable names
23 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentar
Jan
am 18 Dez. 2012
Please use meaningful tags only. I do not see a connection to "legends" or "varargin" here.
Akzeptierte Antwort
Image Analyst
am 18 Dez. 2012
Bearbeitet: Image Analyst
am 18 Dez. 2012
Thinking that this may be homework, here's a hint:
s = 'varNameOne'
upperCaseIndexes = s >= 'A' & s <= 'Z'
Some related File Exchange submissions:
0 Kommentare
Weitere Antworten (4)
Daniel Shub
am 18 Dez. 2012
Bearbeitet: Daniel Shub
am 18 Dez. 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 Kommentare
Ryan G
am 18 Dez. 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 Kommentare
Walter Roberson
am 18 Dez. 2012
I wrote that?? I must have been frustrated with someone and deliberately being obscure...
Jan
am 18 Dez. 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 Kommentare
Daniel Shub
am 18 Dez. 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.
Siehe auch
Kategorien
Mehr zu Legend finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!