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....'

Answers (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 Comments

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?

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Release

R2019a

Asked:

on 26 Aug 2019

Commented:

on 26 Aug 2019

Community Treasure Hunt

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

Start Hunting!