String 如何在MATLAB中解析文件名字符串?
我想将原始字符串String 如何在MATLAB中解析文件名字符串?,string,matlab,String,Matlab,我想将原始字符串'black.txt'解析为a='black'和ext='.txt'。每个文件名/字符串都将具有扩展名'.txt'。我想知道在MATLAB中实现这一点的最简单方法是什么,这样我就可以适当地连接新字符串了?看看MATLAB中央存储库 也许这就是你想要的 %EXPLODE Splits string into pieces. % EXPLODE(STRING,DELIMITERS) returns a cell array with the pieces % of STRING
'black.txt'
解析为a='black'
和ext='.txt'
。每个文件名/字符串都将具有扩展名'.txt'
。我想知道在MATLAB中实现这一点的最简单方法是什么,这样我就可以适当地连接新字符串了?看看MATLAB中央存储库
也许这就是你想要的
%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.
%
事实上,Matlab的标准函数在我的例子中运行得很好。fileparts可能更适合此应用程序 例如,[PATHSTR,NAME,EXT,VERSN]=fileparts('matlab_script.m') 我建议使用函数解析文件名字符串。下面是一个例子:
>> fileString = '\home\matlab\black.txt';
>> [filePath,fileName,fileExtension] = fileparts(fileString)
filePath =
\home\matlab
fileName =
black
fileExtension =
.txt
然后,您可以使用简单的字符串连接(仅用于文件名)或使用函数(用于绝对或部分文件路径)将文件字符串重新组合在一起:
在不同的操作系统上运行代码时,使用FULLFILE更容易、更健壮,因为它会为您选择合适的文件分隔符(“Windows为\”或UNIX为“/”)。您的意思是说strok()而不是strep?
fileString = [fileName fileExtension]; %# Just the file name
fileString = fullfile(filePath,[fileName fileExtension]); %# A file path