[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] West way to remove substrings?

From: Jay Foad
Subject: Re: [Bug-apl] West way to remove substrings?
Date: Tue, 14 Mar 2017 15:10:51 +0000

This is a bit simpler and fixes the empty result problem, and returns a non-enclosed result:

RemoveSubstrings ← {⍵/⍨ ~⊃∨/ (-⍳⍴⍺) ∘.⌽ ⊂⍺⍷⍵}

Like your solution this only works with ⎕IO←0.

On 14 March 2017 at 14:20, Elias Mårtenson <address@hidden> wrote:
In a discussion on the #lisp IRC channel recently, someone wanted to remove a certain substring from a larger string. In Lisp, the solution is to simply use cl-ppcre and remove by regex.

But, I started thinking about how to do this in APL, and this is what I came up with:

      RemoveSubstrings ← {,/ ⍵ ⊂⍨ ↑~∨/ (-⍳⍴⍺) °.⌽ ⊂⍺⍷⍵}

Is this a good way of solving the problem? I realise that I have a bug when the resulting string is empty:

      "foo" RemoveSubstrings "foo"
λ1[1]  λ←,/⍵⊂⍨↑∼∨/(-⍳⍴⍺)°.⌽⊂⍺⋸⍵
         ^ ^

Does anyone have a better solution?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]