2

I have file names in the form of "ARG_time.xls", "AUS_time.xls" and so on. I like to create time stamped file name as "ARG_2012.xls", "AUS_2012.xls" and so on. I apply:

Table[
 {"ARG_time.xls", "AUS_time.xls", "AUT_time.xls", "BEL_time.xls", 
  "BGR_time.xls"}, {time, 2010, 2011, 2012, 2013, 2014, 2015}
 ]

This does not work of course. Is there an easy way to create this table to have file names as

{"ARG_2010.xls", "AUS_2010.xls", "AUT_2010.xls", "BEL_2010.xls", "BGR_2010.xls"},
(...)
{"ARG_2015.xls", "AUS_2015.xls", "AUT_2015.xls", "BEL_2015.xls", "BGR_2015.xls"}

Thanks

Tugrul Temel
  • 6,193
  • 3
  • 12
  • 32
  • 1
    Look up StringTemplate – b3m2a1 Aug 19 '20 at 13:28
  • 1
    Table[{"ARG_" <> ToString[time] <> ".xls", "AUS_" <> ToString[time] <> ".xls", "AUT_" <> ToString[time] <> ".xls", "BEL_" <> ToString[time] <> ".xls", "BGR_" <> ToString[time] <> ".xls"}, {time, {2010, 2011, 2012, 2013, 2014, 2015}}] – corey979 Aug 19 '20 at 13:29
  • @corey979: It works just as I want. Thank you very much. – Tugrul Temel Aug 19 '20 at 13:31

1 Answers1

5
l1 = {"ARG_time.xls", "AUS_time.xls", "AUT_time.xls", "BEL_time.xls", "BGR_time.xls"};
times = {2010, 2011, 2012, 2013, 2014, 2015};

StringReplace[l1, "time" -> #] & /@ IntegerString[times]
 {{"ARG_2010.xls", "AUS_2010.xls", "AUT_2010.xls", "BEL_2010.xls", "BGR_2010.xls"}, 
  {"ARG_2011.xls", "AUS_2011.xls", "AUT_2011.xls", "BEL_2011.xls", "BGR_2011.xls"},  
  {"ARG_2012.xls", "AUS_2012.xls",  "AUT_2012.xls", "BEL_2012.xls", "BGR_2012.xls"}, 
  {"ARG_2013.xls",  "AUS_2013.xls", "AUT_2013.xls", "BEL_2013.xls", "BGR_2013.xls"}, 
  {"ARG_2014.xls", "AUS_2014.xls", "AUT_2014.xls", "BEL_2014.xls", "BGR_2014.xls"}, 
  {"ARG_2015.xls", "AUS_2015.xls", "AUT_2015.xls", "BEL_2015.xls", "BGR_2015.xls"}}
Table[StringReplace["time" -> time]@l1, {time, IntegerString[times]}]

same result

kglr
  • 394,356
  • 18
  • 477
  • 896