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