Replace regular expression in file name

I want to use regular expressions replacement for file names in the following way.
Say I have a string '/home/directory1/sub'
I want to replace this with the string 'home/directory1/sub/' (so this needs to work for combinations of letters, numbers, characters)
or if it already had the / at the end, to leave it as is.
How would I do this in this way? I've tried using the documentation but can't seem to get it right. (Also, I can only use pre2015 commands)

1 commentaire

Stephen23
Stephen23 le 31 Jan 2019
@grant: just out of curiosity, what is the user case for this? Have you tried using fullfile, which avoids the need to mess around with file separators?

Connectez-vous pour commenter.

Réponses (2)

madhan ravi
madhan ravi le 31 Jan 2019
str='/home/directory1/subs'
if strcmp(str(end),'/')
return
else
expp='$'
str=regexprep(str,expp,'/','emptymatch')
end

2 commentaires

If you already tested str(end) for / then you might as well just append,
str = [str '/'];
madhan ravi
madhan ravi le 31 Jan 2019
True sir Walter but wanted to indulge with regexprep :-)

Connectez-vous pour commenter.

Walter Roberson
Walter Roberson le 31 Jan 2019
Why are you not using fullfile() instead?
S = '/home/directory1/sub';
new_S = regexprep(S, '(?<!/)$', '/', 'emptymatch');

Catégories

Produits

Version

R2014b

Question posée :

g
g
le 31 Jan 2019

Commenté :

le 31 Jan 2019

Community Treasure Hunt

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

Start Hunting!

Translated by