在matlab中获取没有Extension的文件名

时间:2010-12-03 16:03:31

标签: file matlab filenames

我想获取没有MATLAB中的扩展名的图像文件名。 我试过使用(fileparts)函数:

[pathstr, name, ext, versn] = fileparts(filename); 

在此函数中,(filename)必须带有完整的Path才能获得变量(name)中没有扩展名的文件名。

当我只有文件名('D10_11.jpg')时,我收到以下错误:

"Input must be a row vector of characters"

请,如果他们是另一个解决这个问题的功能

3 个答案:

答案 0 :(得分:14)

从您的错误消息中,我猜输入可能是一个单元格数组,而不是一个char数组。

因此,而不是

[pathstr,name,ext] = fileparts(filename)

你必须写

[pathstr,name,ext] = fileparts(filename{1})

答案 1 :(得分:2)

这对我来说很好用:

>> filename = 'D10_11.jpg';
>> [pathstr,name,ext,versn] = fileparts(filename)

pathstr =

     ''

name =

D10_11

ext =

.jpg

versn =

     ''

您应该检查以确保filename实际上是您认为的。该错误表明它不仅仅是'D10_11.jpg'等字符的行向量。

答案 2 :(得分:-1)

抱歉超级迟到的回答:(,但我遇到了同样的问题。 当我在寻找答案时,我得到了别人问的相同问题。 您编写的查询没有问题,只有我在这里看到的问题是您缺少文件名位置的格式。

filename = 'C:\Users\Public\myfile.csv';

[pathstr,name,ext] = fileparts(filename);

输出

pathstr =
C:\Users\Public
name =
myfile
ext =
.csv