Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

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

Search the Archive

Re: Using Cases or Position to Find Strings in a List of Strings

  • To: mathgroup at smc.vnet.net
  • Subject: [mg119556] Re: Using Cases or Position to Find Strings in a List of Strings
  • From: Gregory Lypny <gregory.lypny at videotron.ca>
  • Date: Thu, 9 Jun 2011 05:46:00 -0400 (EDT)

Hi Patrick,

I was sure I had tried that and it didn't work.  I didn't think StringCases was Listable.  Maybe I did something wrong.

Thanks for the tips,

Gregory


On Tue, Jun 7, 2011, at 4:33 PM, Patrick Scheibe wrote:

> Hi Gregory,
>
> no, you can just *use* StringCases. To find all files here that end
> with .blend you would do:
>
> files = {"~/.blender/9009.blend", "~/.blender/9211.blend",
>  "~/.blender/.bfont.ttf", "~/.blender/.Blanguages",
>  "~/.blender/bpydata", "~/.blender/Bpymenus", "~/.blender/plugins",
>  "~/.blender/quit.blend", "~/.blender/REVISION",
>  "~/.blender/scripts", "~/.blender/VERSION"}
>
> Flatten@StringCases[files, ___ ~~ ".blend" ~~ EndOfString]
>
> and you get
>
> {"~/.blender/9009.blend",
> "~/.blender/9211.blend",
> "~/.blender/quit.blend"}
>
> But maybe I missunderstood your problem. I wouldn't use of course
> StringPosition because if you only want the strings and not the
> positions that it is anyway the wrong function.
>
> Cheers
> Patrick
>
>
> On Tue, 2011-06-07 at 13:10 -0400, Gregory Lypny wrote:
>> Hi Patrick,
>>
>> Yes, I suppose I could map StringCases across the list of strings and then collect all of the results that are not null, but I was hoping it could be done directly with Cases.
>>
>> Thanks,
>>
>> Gregory
>>
>>
>>
>>
>> On Tue, Jun 7, 2011, at 6:51 AM, Patrick Scheibe wrote:
>>
>>> Hi,
>>>
>>> what about using StringCases and StringPosition?
>>>
>>> Cheers
>>> Patrick
>>>
>>> On Tue, 2011-06-07 at 06:48 -0400, Gregory Lypny wrote:
>>>> Hello everyone,
>>>>
>>>> I have a list of strings called myListOfFilePaths and I want to find
>>>> which one of those strings ends in ".DS_Store" (a hidden file created by
>>>> the Mac OS).  I can pick it off using Select as
>>>>
>>>> 	Select[myListOfFilePaths, StringMatchQ[#, ___ ~~ ".DS_Store" ~~
>>>> EndOfString] &]
>>>>
>>>> but I can't do it using Cases or Position
>>>>
>>>> 	Cases[myListOfFilePaths, ___ ~~ ".DS_Store" ~~ EndOfString]
>>>>
>>>> 	Position[myListOfFilePaths, ___ ~~ ".DS_Store" ~~ EndOfString]
>>>>
>>>> despite the fact that Head[___ ~~ ".DS_Store" ~~ EndOfString] is StringExpression.  What am I doing wrong?
>>>>
>>>> 	Regards,
>>>>
>>>> 	Gregory
>>>>
>>>
>>>
>>
>
>


  • Prev by Date: Fast way to find neighbours of vertices in a Graph & possible performance bug in NeighborhoodGraph
  • Next by Date: Re: Curve Tracking and fetching Locator coordinates
  • Previous by thread: Re: Using Cases or Position to Find Strings in a List of Strings
  • Next by thread: Select positive solutions (depending on parameters)