Re: Position
- To: mathgroup at smc.vnet.net
- Subject: [mg67685] Re: [mg67639] Position
- From: gardyloo <gardyloo at mail.wsu.edu>
- Date: Tue, 4 Jul 2006 01:58:37 -0400 (EDT)
- References: <200607031037.GAA16424@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi, Bruce. This works for me: In[1]:= testlist = {"a string1", "a string2", "abcde", "avcfgehi", "1234", "abcd12345", "ab", "1", "", "", "abcdefghi"}; In[2]:= extractABCD[st_String] := If[StringLength[st] >= 4, StringTake[st, 4]] In[3]:= extractABCD /@ testlist Out[3]= {"a st", "a st", "abcd", "avcf", "1234", "abcd", Null, Null, Null, Null, "abcd"} In[4]:= Flatten[Position[extractABCD /@ testlist, "abcd", 1, 1]] Out[4]= {3} Hope that helps! Curtis O. Bruce Colletti wrote: > Let X be a list of strings having diverse lengths (some are the null string ""). > > What command returns the position in X of the first element that starts with "abcd"? > > Presumably the command looks like Position[X,...,Heads->False], but my attempts have come up dry. Although StringTake[Y,4]=="abcd" would seem to be part of the command, this fails when the string's length is less than 4. > > Thankx. > > Bruce > > > > > -- ========================================================== Curtis Osterhoudt gardyloo at mail.remove_this.wsu.and_this.edu PGP Key ID: 0x088E6D7A Please avoid sending me Word or PowerPoint attachments See http://www.gnu.org/philosophy/no-word-attachments.html ==========================================================
- References:
- Position
- From: Bruce Colletti <vze269bv@verizon.net>
- Position