MathGroup Archive 2001

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

Search the Archive

Re: Manipulating Strings

  • To: mathgroup at smc.vnet.net
  • Subject: [mg28287] Re: Manipulating Strings
  • From: drnews at NOSPAM--Scientificarts.com (David Reiss)
  • Date: Sat, 7 Apr 2001 03:44:46 -0400 (EDT)
  • Organization: Scientific Arts
  • References: <9ajmoi$sav@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

In article <9ajmoi$sav at smc.vnet.net>, bghiggins at ucdavis.edu (Brian
Higgins) wrote:

> Dear Math group,
> 
> I have a string with runs of repeated characters and  want to  replace
> sequences of repeated characters with a single character. For example
> consider the string
> 
> "CLKJLDiCXLklJDMXLKJdLmxLLLEIKXMDLKJcMDLKJXMeNNlB"
> Thus I want a function that will take the groups "LLL" and "NN" in the
> above string and replace them with "L" and "N". 
> 
> Now I have been able to devise such a function but it seems pretty
> clunky, and I was wondering if anyone had a better idea tha made use
> of StringMatchQ to do the same task. Here is my method
> 
> squash[str_String] := Module[{repeatCharList, repeatPattern,
> repeatChar},
>     repeatCharList = 
>       Select[Split[Characters[proteinString2]], Length[#] > 1 &];
>     repeatPattern = Apply[StringJoin, repeatCharList, 1];
>     repeatChar = Map[First, repeatCharList];
>     StringReplace[str, Thread[repeatPattern -> repeatChar]]]
> 
> Thanks much,
> 
> Brian


In[1]:=
squash2[str_String]:=StringJoin[Flatten[Union/@Split[Characters[str]]]]


In[2]:=
squash2["aaGghhhlmnopppWw123333"]
Out[2]=
"aGghlmnopWw123"

-- 
) Scientific Arts: http://www.scientificarts.com     
) Creative Services and Consultation for the Applied                            
) and Pure Sciences:: David Reiss: dreiss at !SPAMscientificarts.com
) [Remove the !SPAM to send email]


  • Prev by Date: Re: Howto vonvert a list of functions in a list valued function
  • Next by Date: RE: Manipulating Strings
  • Previous by thread: Re: Manipulating Strings
  • Next by thread: RE: Manipulating Strings