Caio and Arron:

 I am writing this at the top to start over and answer Caio's questions.
 Say you have an accidental  string  name  "A..." and the stem is up; then
the same accidental  with the stem down would be named  "-A...".      "A"..
would be a short string like LilyPond  uses for accidentals.

If you want to use the accidental more than one time say 2 then  write the
strings like this, "A...x2" and "-A...x2".   But the second name is wrong,
the "x2" part needs to go with the stem.    "A...x2" is the logical entry
but the "x" needs to be replaced with "-x".  Before I do this I need a
space before the "x", i replace "x",, if it exists with " x"  if it
exists.     I now have the 4 possibilities "A...",  "-A...", "A... x2",
"-A... x2".

My question is, is there a procedure  that sees the [-] then searches for
"x" and replaces it with "-x".

I could add the "-" to the "x" at entry but want to keep it simple, x
(times ) 2 is logical (and saves a stroke).  The  next step would be to
split the strings into two strings if a space exists.    So  "A... x2"
becomes  "A..." " x2" and  "-A... x2" becomes "-A..." "-x2" ; two glyph
each to form ligatures.

Thank you, ƒg

On Mon, Jun 8, 2020 at 4:31 PM Aaron Hill <lilyp...@hillvisions.com> wrote:

> On 2020-06-08 12:47 pm, Caio Barros wrote:
> > Hello!
> >
> > Em seg., 8 de jun. de 2020 às 08:37, Freeman Gilmore <
> > freeman.gilm...@gmail.com> escreveu:
> >
> >> If the string is   "A ... B ... " , using Regexp Functions is it
> >> possible, if 'A' matches [-] then 'B' would be replaced by "C"?    'A'
> >> is first in the string.  Position of B is not constant.and may not be
> >> there.
> >>
> >
> > Can you provide a little more context of what you are trying to do and
> > what
> > this has to to with lilypond? What tools are you using to find and
> > replace
> > strings using regex?
>
> LilyPond -> Guile -> (use-modules (ice-9 regex))
>
> Or I could be making the wrong assumption here.  ¯\_(ツ)_/¯
>
> ;;;;
> (display
>    (regexp-substitute/global #f
>      (make-regexp "(^A.*)B" regexp/newline)
>      (string-join '("A ... B ..." "D ... B ..."
>                     "A ... E ..." "A ... B ...")
>                   "\n" 'suffix)
>      'pre 1 "C" 'post))
> ;;;;
>
> ====
> A ... C ...
> D ... B ...
> A ... E ...
> A ... C ...
> ====
>
> The key here is to use a capturing group for the portion of the string
> before "B" that you need to preserve in the substitution.
>
>
> -- Aaron Hill
>
>

Reply via email to