Re: Finding the Position of Elements in a List that
- To: mathgroup at smc.vnet.net
 - Subject: [mg102200] Re: [mg102157] Finding the Position of Elements in a List that
 - From: Adriano Pascoletti <adriano.pascoletti at dimi.uniud.it>
 - Date: Sat, 1 Aug 2009 03:59:30 -0400 (EDT)
 - References: <200907310953.FAA19267@smc.vnet.net>
 
In[8]:= Position[listOfStrings, s_String /; StringMatchQ[s,  ___ ~~
searchString ~~ ___]]
Out[8]= {{1}, {3}, {4}}
Adriano Pascoletti
2009/7/31 Gregory Lypny <gregory.lypny at videotron.ca>
> Hello everyone,
>
> Suppose I have a list of strings, say, sentences such as
>
>        listOfStrings = {"The cat is here.", "It's not here.",  "Not in the
> catalogue,", "Where is the cat?"}
>
> and a string I want to search for
>
>        searchString = "cat"
>
> I can use StringCases to pick off the elements that contain the search
> string
>
>        StringCases[listOfStrings, __ ~~ searchString ~~ ___]
>
>        {{"The cat is here."}, {}, {"Not in the catalogue,"}, {"Where is the
> cat?"}}
>
> But what if I just want to know the positions of the elements that are
> hits?  In this case, it's
>
>        {1, 3, 4}
>
> If I use
>
>        Position[listOfStrings, ___ ~~ theString ~~ ___]
>
> I get
>
>        {}
>
> which is not what I expect.  Also how can I have my searchString
> treated like it is a word so that 3 is not one of the hits?
>
> Any hints would be much appreciated.
>
>        Gregory
>
>