如何在MATLAB中解析文件名字符串?

时间:2009-08-13 23:05:17

标签: string matlab

我希望将原始字符串'black.txt'解析为a = 'black'ext = '.txt'。每个文件名/字符串都将具有扩展名'.txt'。我想知道在MATLAB中实现这一目标的最简单方法是什么,以便我可以恰当地连接新字符串?

4 个答案:

答案 0 :(得分:10)

我建议使用FILEPARTS函数来解析文件名字符串。这是一个例子:

>> fileString = '\home\matlab\black.txt';
>> [filePath,fileName,fileExtension] = fileparts(fileString)

filePath =
   \home\matlab

fileName =
   black

fileExtension =
   .txt

然后,您可以将文件字符串与简单的字符串连接(仅用于文件名)或使用FULLFILE函数(对于绝对或部分文件路径)重新放在一起:

fileString = [fileName fileExtension];  %# Just the file name
fileString = fullfile(filePath,[fileName fileExtension]);  %# A file path

在不同操作系统上运行代码时,使用FULLFILE更容易,更健壮,因为它会为您选择合适的文件分隔符(Windows为“\”,UNIX为“/”)。

答案 1 :(得分:2)

fileparts可能更适合这个应用程序。

E.g。 [PATHSTR,NAME,EXT,VERSN] = fileparts('matlab_script.m');

答案 2 :(得分:1)

实际上,Matlab的标准strrep函数在我的情况下效果很好。

答案 3 :(得分:0)

在Matlab Central Repository中查看here

可能这就是你想要的。

%EXPLODE Splits string into pieces. 
% EXPLODE(STRING,DELIMITERS) returns a cell array with the pieces 
% of STRING found between any of the characters in DELIMITERS. 
%