Matlab - 删除部分字符串

AL *_*L B 1 string matlab replace

我有一个字符串列表,如下所示:

/disk1/home/alb/main/directory1/image0001.png

我想在最后一个之后删除所有内容并最终得到一个如下所示的字符串:

/disk1/home/alb/main/directory1/

有没有快速的方法来做到这一点?

谢谢

Sue*_*ver 5

您将需要使用第一个输出,fileparts因为它可以保证在所有平台上工作.该fileparts函数是一个内置的,旨在将路径分成它的目录,文件名和文件扩展名.

string = '/disk1/home/alb/main/directory1/image0001.png'
part = fileparts(string);
Run Code Online (Sandbox Code Playgroud)

如果你真的需要那个尾部斜杠(如果你习惯于fullfile(正确地)构造一个新路径则不应该这样),那么你可以使用它来添加它filesep.

part_with_slash = [part, filesep];
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因您尝试在Windows计算机(具有不同的文件分隔符)上处理此*nix文件路径,则只有这样您才能使用以下内容regexp.

part = regexp(string, '.*/', 'match');
Run Code Online (Sandbox Code Playgroud)