Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何在MATLAB中解析文件名字符串?_String_Matlab - Fatal编程技术网

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