Using fileparts and combining with a different file name

27 Ansichten (letzte 30 Tage)
Damith
Damith am 24 Mär. 2015
Kommentiert: Damith am 25 Mär. 2015
Hi,
I need to strip the file name and extension (TRMM_1998_01_0103_newntcl.csv) to TRMM_1998_01_0103_newntcl and .csv and then combine the file name with different extension (.nc) and then write the complete file name. I think I am close to that but the last line does not give me the desired output (TRMM_1998_01_0103_newntcl.nc)
Any idea? or any help is appreciated.
cd ('C:\Users\Desktop')
input_file='TRMM_1998_01_0103_newntcl.csv';
[~, fName, ext] = fileparts(input_file);
filenc=fName.'nc';

Akzeptierte Antwort

David Young
David Young am 24 Mär. 2015
The last line should be
filenc = [fName '.nc'];
What you are doing here is concatenating two strings. Square brackets can be used to concatenate any kind of array, including strings. (Your previous syntax, with a dot, is used for structures.)

Weitere Antworten (1)

Image Analyst
Image Analyst am 25 Mär. 2015
Another option, if you know for certain what the first extension is, is to use strrep():
input_file = strrep(input_file, '.csv', 'nc');
No need to call file parts. Or, if you do use fileparts
[folder, baseFileName, ext] = fileparts(input_file);
newBaseName = sprintf('%s.nc', baseFileName);
outputFile = fullfile(folder, newBaseName); % Prepend the folder.

Kategorien

Mehr zu File Operations finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by