Re: Question about DeleteCases to remove list elements based on first character
- To: mathgroup at smc.vnet.net
- Subject: [mg124366] Re: Question about DeleteCases to remove list elements based on first character
- From: Adriano Pascoletti <adriano.pascoletti at uniud.it>
- Date: Tue, 17 Jan 2012 05:57:33 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
In[6]:= S = {"abc", ";def", "ghi", ";jkl", "; mno", "pqr;X"};
DeleteCases[S, s_ /; StringTake[s, 1] === ";"]
Select[S, StringTake[#1, 1] =!= ";" & ]
Out[7]= {"abc", "ghi", "pqr;X"}
Out[8]= {"abc", "ghi", "pqr;X"}
Adriano Pascoletti
2012/1/16 Andrew DeYoung <adeyoung at andrew.cmu.edu>
> Hi,
>
> I have a list of strings in which some elements begin with the ";"
> character and some do not. The ";" character indicates a program
> comment, so I wish to drop all elements in the list that begin with
> the ";" character.
>
> As a simplified example, suppose I have the following list S:
>
> S = {"abc", ";def", "ghi", ";jkl", "; mno", "pqr;X"}
>
> I wish to drop from S all elements that begin with ";". So, I want to
> obtain:
>
> {"abc", "ghi", "pqr;X"}
>
> Will you please help me know how to do this? Can this be done with
> DeleteCases? For example, I tried:
>
> DeleteCases[S, StringTake[#, 1] == ";"&]
>
> and
>
> DeleteCases[S, ";" ~~ __]
>
> but I am wrong: these do not work. Can you please help me?
>
> Thanks so much.
>
> Andrew DeYoung
> Carnegie Mellon University
>
>