MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Filenames with ToString

  • To: mathgroup at smc.vnet.net
  • Subject: [mg99969] Re: Filenames with ToString
  • From: Albert Retey <awnl at gmx-topmail.de>
  • Date: Wed, 20 May 2009 05:02:19 -0400 (EDT)
  • References: <guu2ef$67d$1@smc.vnet.net>

Alain Mazure wrote:
> Hi again
> 
>    I have several files with extension .jpg of the type
> 
> "C1822_8_025_1.jpg", "C1822_8_025_2.jpg"
> "C1943_11_025_1.jpg", "C1943_11_025_2.jpg" .....
> 
> I know the first part of the name  which was given by : "" ~~ 
> ToString[NAME2]  with NAME2: C1822, C1943 ...

I don't understand what you try to achieve with:

 "" ~~ ToString[NAME2]

it is a string pattern that matches an empty string followed by a string
representation of the content of NAME2, which matches just the string
itself and thus is obviously automatically simplified to just the string
by mathematica...


> How to use FileNames in order to have, for a given NAME2 all the *.jpg 
> files in order to import them ?
> 
>    The command: FileNames["" ~~ ToString[NAME2]*".jpg"]  does not work

I think the (string) pattern you are looking for would look like this:

ToString[NAME2] ~~ __ ~~ ".jpg"

If you need that the filename starts with ToString[NAME2], this would be
the correct syntax:

StartOfString ~~ ToString[NAME2] ~~ __ ~~ ".jpg"

here are some checks:

NAME2 = C1822

names = {"C1822_8_025_1.jpg", "C1822_8_025_2.jpg", "xC1822_asdf.jpg",
  "C1943_11_025_1.jpg", "C1943_11_025_2.jpg"}

StringCases[names, ToString[NAME2] ~~ __ ~~ ".jpg"]

if you want the third name not to be matched, this is what you need:

StringCases[names, StartOfString ~~ ToString[NAME2] ~~ __ ~~ ".jpg"]

now this should do what you need:

FileNames[ToString[NAME2] ~~ __ ~~ ".jpg"]


hth,

albert


  • Prev by Date: Re: Filenames with ToString
  • Next by Date: Re: Solving for Stiffness using a plot
  • Previous by thread: Re: Filenames with ToString
  • Next by thread: ColorFunction Range (Mathematica v7)