I would be tempted to go with dedouble=: #!.'X'~ 1 j. #{.}.=}:
But I do not understand why the double O in your second example does not get an X inserted. So maybe I am missing something. I hope this helps, -- Raul On Wed, Feb 3, 2021 at 11:02 PM Ric Sherlock <tikk...@gmail.com> wrote: > > I need to separate any digraphs in a string, that consist of 2 letters the > same, by inserting an 'X' between them. > _2 ]\ 'THEEQUICKBROWFFOX' > TH > EE > QU > IC > KB > RO > WF > FO > X > > 'EE' is a digraph that needs an 'X' inserted. Doing so will result in: > > TH > EX > EQ > UI > CK > BR > OW > FF > OX > > So now we also need to separate the 'FF' digraph. > > I want to define a verb "dedouble" that will process a string so: > dedouble 'THEEQUICKBROWFFOX' > THEXEQUICKBROWFXFOX > But: > dedouble 'THEEQUICKBROWFOOX' > THEXEQUICKBROWFOOX > > I have implemented a solution at > https://rosettacode.org/wiki/Playfair_cipher#J but am interested in > alternative implementations. > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm