Make one word in path name a variable

Can I make one variable in a path name a variable?
'C:\Users\Jane....'
'C:\Users\George....'

Risposte (2)

Yes, but you will need to be a little more specific about the rule for finding what part of the string you want. One step that might help you is to use the regexp command to find the locations of the slashes:
pathNameVar = 'C:\Users\Jane....';
slashIndices = regexp(pathNameVar,'\');
So, for example, if you wanted everything after the last slash to be your variable, then
varName = pathNameVar(slashIndices(end)+1:end);
With "names" as your existing variable, try fullfile() to create a new variable with name "thisFolderName":
names = {'Jane', 'George', 'Nancy', 'Image Analyst'};
'C:\Users\Jane....';
for k = 1 : length(names)
thisFolderName = fullfile('C:\users\', names{k})
% Now do something with thisFolderName
end
You'll see
thisFolderName =
'C:\users\Jane'
thisFolderName =
'C:\users\George'
thisFolderName =
'C:\users\Nancy'
thisFolderName =
'C:\users\Image Analyst'

2 Commenti

It's the name after Users that I want to be variable. The resto if the path nake and file name remain the same
This was the Matlab code I was using. But with multi files, this adds too much complexity to the code:
if home ==1
xfb= load ('C:\Users\Nancy\Documents\Research\Data\CRSP\famablissprices.txt');
else
xfb= load ('C:\Users\Zenobia\Documents\Research\Data\CRSP\famablissprices.txt');
end
So would that be:
varName = pathNameVar(slashIndices(2):slashIndices(3));
Thank you for showing me how to think about this.
How is the program supposed to know where the names Nancy and Zenobia come from? Are they already folders on the disk, like you can just use dir('c:/users/') to find out about?

Accedi per commentare.

Categorie

Scopri di più su MATLAB in Centro assistenza e File Exchange

Prodotti

Release

R2019a

Richiesto:

il 26 Ago 2019

Commentato:

il 26 Ago 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by