MathGroup Archive 2001

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

Search the Archive

Re: Working with strings


In a message dated 12/13/01 2:31:11 AM, bghiggins at ucdavis.edu writes:

>I have a list of string characters that I would like to group in a
>particular way. The list has the following structure:
>
>{n UpperCase Characters, x, m UpperCase Characters}
>
>Here is an example:
>
>myString={"S", "T", "M", "x", "R", "K", "P", "G"}
>
>Now I would like to form the following groupings:
>
>{"SxR", "SxK", "SxP", "SxG", "TxR", "TxK", "TxP", "TxG", "MxR", "MxK",
>"MxP", \
>"MxG"}
>
>A brute force way of doing this is
>
>subString[n_] := Split[myString, UpperCaseQ[#2] && UpperCaseQ[#1]
>&][[n]];
>
>Flatten[Outer[StringJoin, Outer[StringJoin, subString[1],
>subString[2]],
>    subString[3]]]
>
>Does anyone have any elegant way of doing this with perhaps using
>replacement rules?
>

myString={"S","T","M","x","R","K","P","G"};

myString/.{s__,"x",e__}:>Flatten[Outer[#1<>"x"<>#2&,{s},{e}]]

{"SxR", "SxK", "SxP", "SxG", "TxR", 
  "TxK", "TxP", "TxG", "MxR", 
  "MxK", "MxP", "MxG"}


Bob Hanlon
Chantilly, VA  USA


  • Prev by Date: Re: Syntax errors in autogenerated packages
  • Next by Date: Re: Working with strings
  • Previous by thread: Re: Working with strings
  • Next by thread: Re: Working with strings