MathGroup Archive 2001

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

Search the Archive

Re: Manipulating Strings


squash[str_String] := StringJoin[First /@ Split[Characters[str]]];

Bob Hanlon

In a message dated 2001/4/6 2:23:33 AM, bghiggins at ucdavis.edu writes:

>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]]]
>


  • Prev by Date: Re: notebook -> postscript conversion in text mode ?
  • Next by Date: Improvement?
  • Previous by thread: Re: Re: Manipulating Strings
  • Next by thread: Re: Manipulating Strings