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 个评论

@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?

请先登录,再进行评论。

回答(2 个)

str='/home/directory1/subs'
if strcmp(str(end),'/')
return
else
expp='$'
str=regexprep(str,expp,'/','emptymatch')
end

2 个评论

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

请先登录,再进行评论。

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

类别

帮助中心File Exchange 中查找有关 Workspace Variables and MAT Files 的更多信息

产品

版本

R2014b

标签

提问:

g
g
2019-1-31

评论:

2019-1-31

Community Treasure Hunt

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

Start Hunting!

Translated by