How to add text from name of .txt-file into string in a cell?

1 次查看(过去 30 天)
Hi! I wonder if it is possible to add the name of a textfile for example: 200807.txt into strings in a cell that looks like this:
'METAR ESDF 010020Z AUTO 31003KT 230V350 9999NDV NCD 12/08 Q1017'
'METAR ESDF 010050Z AUTO 24003KT 230V320 9999NDV NCD 12/08 Q1017'
'METAR ESDF 010120Z AUTO 25003KT 230V350 9999NDV NCD 11/08 Q1017'
The strings exists in a .txt-file containing 45000 rows approximately that is imported with fread(). The only information about the year and month of the data is from the filename itself. The problem is that I would like to add the name of the file which contains the information about year and month to the part '010020Z'. That would provide a unique date and time to my strings that I could later use with datevec or datenum. Is there a way of doing this with matlab?
Thankful of your help!
  2 个评论
Jim Hokanson
Jim Hokanson 2016-10-6
It would be helpful to provide an example of what your output should look like.
Linus Dock
Linus Dock 2016-10-6
It should look something like this:
'METAR ESDF 200807010120Z AUTO 25003KT 230V350 9999NDV NCD 11/08 Q1017'

请先登录,再进行评论。

采纳的回答

Guillaume
Guillaume 2016-10-6
regexprep(yourcellarray, 'd{6}Z', sprintf('%s$0', stringtoadd))
The above regular expression matches exactly 6 digits followed by Z and prepend that section with whichever string you want to add.
  1 个评论
Linus Dock
Linus Dock 2016-10-7
Thank you! This is how it worked out.
flygplatsmetarYMDHM=cell(1,length(txtFiles))
filenamestr={txtFiles.name};
YYYYMM = regexprep(filenamestr, '.txt','')
for n=1:length(txtFiles)
flygplatsYYYYMM=Utcell{n};
yearmonth = YYYYMM{n}
flygplatsmetarYMDHM{n}=regexprep(flygplatsYYYYMM, '\d{6}Z', sprintf('%s$0', yearmonth))
end

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by