MathGroup Archive 2010

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

Search the Archive

File names and strings

I have a folder like this: (SetDirectory is correctly set.)


{Linkmax-n=06-3457873882.nb,  (* This is a list of strings. *)
  Link-n=07,                     (* For testing.*)
  Testname-n=07-3457879999.nb}   (* For testing.*)

(* Why do some of these functions work and others do not? *)

In[856]:= FileNames["Link*06*"]
Out[856]= {
"Linkmax-n=06-3457873882.nb", \
"Linkmin-n=06-3457873882.nb", \
"Linkmin-n=06-3487762236.nb"}    (* What I expect and what I want.*)

In[847]:= FileNames["Link*-n=*"]
Out[847]= {
"Linkmax-n=06-3457873882.nb", \
"Linkmax-n=07-3457879999.nb", \
"Linkmin-n=06-3487762236.nb", \
"Link-n=07"}                    (* Also what I would expect. *)

In[867]:= num = 6;
FileNames["Link*-n=" <> "06"]        (* Can't I use <> here? *)
Out[868]= {}(* I thought this would give same as Out[847] ?? *)

In[861]:= num=6;
numstr=If[num<10, numstr="0"<>ToString[num],
                   numstr = ToString[num]]
FileNames["Link*" <> ToString[numstr]]  (* No good also. ??  *)
Out[862]= "06"
Out[863]= {}(* I thought this would give same as Out[847] ?? *)

In[851]:= rname = "Link*-n=" <> numstr
FileNames[rname]  (* Also not acceptable, but why?          *)

Out[851]= "Link*-n=06"
Out[852]= {}(* I thought this would give same as Out[847] ?? *)

Clearly there is something missing in my understanding of file name 
strings. What is the difference between *, __, and ~~, and where does 
one use which of them? Is there a clear explanation of these issues 
anywhere? I would certainly appreciate some help here. Thank you.

Steve Gray

  • Prev by Date: Re: image is not graphics
  • Next by Date: Re: Chi Square Areas
  • Previous by thread: Re: Primitive Disk Gradient Fills in Graphics
  • Next by thread: Re: File names and strings