Получить имя файла без расширения в MATLAB
Я хочу получить имя файла изображения без расширения в MATLAB. Я попытался использовать функцию (fileparts) как:
[pathstr, name, ext, versn] = fileparts(filename);
в этой функции (имя файла) должно быть с полным путем, чтобы получить имя файла без расширения в переменной (имя).
когда у меня есть только имя файла, например ('D10_11.jpg'), я получаю следующую ошибку:
"Input must be a row vector of characters"
пожалуйста, если их еще одна функция для решения этой проблемы
3 ответов
Это отлично работает для меня:
>> filename = 'D10_11.jpg';
>> [pathstr,name,ext,versn] = fileparts(filename)
pathstr =
''
name =
D10_11
ext =
.jpg
versn =
''
вы должны проверить, чтобы убедиться filename
на самом деле это то, что вы думаете. Ошибка предполагает, что это не просто вектор строк символов, таких как 'D10_11.jpg'
.
из Вашего сообщения об ошибке я предполагаю, что вход может быть массивом ячеек, а не массивом символов.
таким образом, вместо
[pathstr,name,ext] = fileparts(filename)
нужно писать
[pathstr,name,ext] = fileparts(filename{1})
извините за супер поздний ответ :(, но я столкнулся с той же проблемой. Когда я искал ответ, я получил тот же вопрос, заданный кем-то другим. Нет проблем с запросом, который вы написали, только проблема, которую я вижу здесь, заключается в том, что вам не хватает формата местоположения файла.
filename = 'C:\Users\Public\myfile.csv';
[pathstr,name,ext] = fileparts(filename);
выход
pathstr =
C:\Users\Public
name =
myfile
ext =
.csv