between 2019b ans 2021b, function "fileparts" returned String instead of char, this caused many change in my code. iIs there away to obtain the legacy behavior in 2021b ?
thank

 採用された回答

Cris LaPierre
Cris LaPierre 2022 年 6 月 20 日
編集済み: Cris LaPierre 2022 年 6 月 20 日

0 投票

The function fileparts creates output with the same data type as the input.
% String input = string output
fileS = "H:/user4/matlab/myfile.txt";
[filepath,name,ext] = fileparts(fileS)
filepath = "H:/user4/matlab"
name = "myfile"
ext = ".txt"
% Char array input = char array output
fileC = 'H:/user4/matlab/myfile.txt';
[filepath,name,ext] = fileparts(fileC)
filepath = 'H:/user4/matlab'
name = 'myfile'
ext = '.txt'
Check what you are using for input. You could use the convertStringsToChars function to convert your input to fileparts to char if necessary.
[filepath,name,ext] = fileparts(convertStringsToChars(fileS))
filepath = 'H:/user4/matlab'
name = 'myfile'
ext = '.txt'
Or simply char(string), as Fangjun showed
[filepath,name,ext] = fileparts(char(fileS))
filepath = 'H:/user4/matlab'
name = 'myfile'
ext = '.txt'

1 件のコメント

Antoine Masia
Antoine Masia 2022 年 6 月 20 日
Thank you,
you are right, this is my input that have changed from "char" to "String".

サインインしてコメントする。

その他の回答 (1 件)

Fangjun Jiang
Fangjun Jiang 2022 年 6 月 20 日

0 投票

char(fileparts(...))?

カテゴリ

ヘルプ センター および File Exchange で Characters and Strings についてさらに検索

製品

リリース

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by