Loading ...
Sorry, an error occurred while loading the content.
 

Re: [Clip] best way to substitute a list of items

Expand Messages
  • Sheri
    ... I suppose you could paste the ^%current_event% to a new document to avoid doing several strreplaces on it. But the best you will save is one command, that
    Message 1 of 9 , May 1, 2009
      Don - HtmlFixIt.com wrote:
      > well current_event has in it one of the terms I described at the outset
      > by the time we arrive here in the clip that runs for several hundred
      > lines ... so I just need to modify the term at this point in the clip
      > ... this is working fine, but just seems cumbersome.
      >
      I suppose you could paste the ^%current_event% to a new document to
      avoid doing several strreplaces on it. But the best you will save is one
      command, that replaces " Run| Dash" with "".
      > There are actually 17 events, but I only picked five that are
      > representative -- any one of the five may currently occupy that variable.
      >
      > My data is in a grid where there are ten rows of entrants below five
      > events, and then ten more rows of five events and repeat again ... so it
      > is really a three dimensional array of sorts that I am actually working
      > on. But I cannot simply search and replace as their are other data
      > elements in the form that I cannot act on.
      >
      > So I have already retrieved an event name when I am using this series of
      > lines.
      >
      > Sheri wrote:
      >
      >> --- In ntb-clips@yahoogroups.com, "Don - HtmlFixIt.com" <don@...> wrote:
      >>
      >>> ;assign event codes for hytek
      >>> ^!Set %current_event%=^$StrReplace(" Relay";"R";"^%current_event%";Yes;Yes)$
      >>> ^!Set %current_event%=^$StrReplace(" Run";"";"^%current_event%";Yes;Yes)$
      >>> ^!Set %current_event%=^$StrReplace(" Dash";"";"^%current_event%";Yes;Yes)$
      >>> ^!Set %current_event%=^$StrReplace(" LH";"H";"^%current_event%";Yes;Yes)$
      >>> ^!If "^%gender%" = "M" Next ELSE Skip
      >>> ^!Set %current_event%=^$StrReplace("100/110
      >>> HH";"110H";"^%current_event%";Yes;Yes)$
      >>> ^!Set %current_event%=^$StrReplace("100/110
      >>> HH";"100H";"^%current_event%";Yes;Yes)$
      >>>
      >>>
      >> Such as you've shown it, you're replacing in an empty string ^%current_event%
      >>
      >>
      >>> better ideas?
      >>>
      >>> Don - HtmlFixIt.com wrote:
      >>>
      >>>> I have a list of items that are track events:
      >>>> 3200 Relay
      >>>> 300 Hurdles
      >>>> 400 Run
      >>>> 100 Run
      >>>> 100/110 HH
      >>>>
      >> Is this one event or 5?
      >>
      >>
      >>>> When I actually use them I want them to read thus:
      >>>> 3200R
      >>>> 300H
      >>>> 400
      >>>> 100
      >>>> (this one is tricky)
      >>>> if ^%gender%=M then 110H
      >>>> but if ^%gender%=F then 100H
      >>>>
      >> Where did %gender% get set?
      >>
      >> I think you probably want to want to find a series of lines that represents a "gender event" and then do a series of replace-in-highlight on it. Then loop to do the next "gender event".
      >>
      >> Regards,
      >> Sheri
      >>
      >>
      >>
      >> ------------------------------------
      >>
      >> Fookes Software: http://www.fookes.com/
      >> NoteTab website: http://www.notetab.com/
      >> NoteTab Discussion Lists: http://www.notetab.com/groups.php
      >>
      >> ***
      >> Yahoo! Groups Links
      >>
      >>
      >>
      >>
      >>
      >
      >
      > ------------------------------------
      >
      > Fookes Software: http://www.fookes.com/
      > NoteTab website: http://www.notetab.com/
      > NoteTab Discussion Lists: http://www.notetab.com/groups.php
      >
      > ***
      > Yahoo! Groups Links
      >
      >
      >
      >
      >
    • Sheri
      Sorry I pressed Send before I was finished. ^!Replace (?J)( (? R)elay| (? H)urdles| (? )Run| (? )Dash) $ RAWS0 Starting Document text: 3200
      Message 2 of 9 , May 1, 2009
        Sorry I pressed Send before I was finished.

        ^!Replace "(?J)( (?<m>R)elay| (?<m>H)urdles| (?<m>)Run| (?<m>)Dash)" >>
        "$<m>" RAWS0

        Starting Document text:

        3200 Relay
        300 Hurdles
        400 Run
        100 Run
        100/110 HH

        After the replace is:

        3200R
        300H
        400
        100
        100/110 HH

        Regards,
        Sheri
      • Flo
        ... What about this... ^!Set %gender%=^?{Gender is...==_F|M} ^!Replace (?| x20(R)elay| x20(H)urdles| x20Run| x20Dash) $1 AWRS ^!If ^%gender%=M Next Else
        Message 3 of 9 , May 1, 2009
          --- In ntb-clips@yahoogroups.com, Sheri <silvermoonwoman@...> wrote:
          >
          > Sorry I pressed Send before I was finished.
          >
          > ^!Replace "(?J)( (?<m>R)elay| (?<m>H)urdles| (?<m>)Run| (?<m>)Dash)" >>
          > "$<m>" RAWS0
          >
          > Starting Document text:
          >
          > 3200 Relay
          > 300 Hurdles
          > 400 Run
          > 100 Run
          > 100/110 HH
          >
          > After the replace is:
          >
          > 3200R
          > 300H
          > 400
          > 100
          > 100/110 HH
          >
          > Regards,
          > Sheri


          What about this...

          ^!Set %gender%=^?{Gender is...==_F|M}
          ^!Replace "(?|\x20(R)elay|\x20(H)urdles|\x20Run|\x20Dash)" >> "$1" AWRS
          ^!If ^%gender%=M Next Else Skip_2
          ^!Replace "^\d+/(\d+)\x20HH$" >> "$1H" AWRS
          ^!Goto End
          ^!Replace "^(\d+)/\d+\x20HH$" >> "$1H" AWRS

          Sheri uses (?J) which allows duplicate subpattern names. Just for a change, I tried (?| which allows duplicate subpattern numbers. I hope it will survive Sheri's critical eye ;-)

          I also tried to solve the "gender problem" that Don described in his first message.

          Flo
        • Sheri
          ... Thanks Flo, you taught me some things :) For one, I thought it was necessary to capture the empty string or the token in the replacement string would be
          Message 4 of 9 , May 1, 2009
            --- In ntb-clips@yahoogroups.com, "Flo" <flo.gehrke@...> wrote:
            >
            > --- In ntb-clips@yahoogroups.com, Sheri <silvermoonwoman@> wrote:
            > >
            > > Sorry I pressed Send before I was finished.
            > >
            > > ^!Replace "(?J)( (?<m>R)elay| (?<m>H)urdles| (?<m>)Run| (?<m>)Dash)" >>
            > > "$<m>" RAWS0
            > >
            > > Starting Document text:
            > >
            > > 3200 Relay
            > > 300 Hurdles
            > > 400 Run
            > > 100 Run
            > > 100/110 HH
            > >
            > > After the replace is:
            > >
            > > 3200R
            > > 300H
            > > 400
            > > 100
            > > 100/110 HH
            > >
            > > Regards,
            > > Sheri
            >
            >
            > What about this...
            >
            > ^!Set %gender%=^?{Gender is...==_F|M}
            > ^!Replace "(?|\x20(R)elay|\x20(H)urdles|\x20Run|\x20Dash)" >> "$1" AWRS
            > ^!If ^%gender%=M Next Else Skip_2
            > ^!Replace "^\d+/(\d+)\x20HH$" >> "$1H" AWRS
            > ^!Goto End
            > ^!Replace "^(\d+)/\d+\x20HH$" >> "$1H" AWRS
            >
            > Sheri uses (?J) which allows duplicate subpattern names. Just for a change, I tried (?| which allows duplicate subpattern numbers. I hope it will survive Sheri's critical eye ;-)
            >
            > I also tried to solve the "gender problem" that Don described in his first message.
            >
            > Flo
            >

            Thanks Flo, you taught me some things :)

            For one, I thought it was necessary to capture the empty string or the token in the replacement string would be not work properly. For another I didn't even know about ?|

            Regards,
            Sheri
          • Alec Burgess
            Sheri (silvermoonwoman@comcast.net) wrote (in part) (on 2009-05-01 at ... Flo and Sheri - you are both scary good :-) Current documentation for Notetab
            Message 5 of 9 , May 2, 2009
              Sheri (silvermoonwoman@...) wrote (in part) (on 2009-05-01 at
              23:40):
              > Thanks Flo, you taught me some things :) For one, I thought it was
              > necessary to capture the empty string or the token in the replacement
              > string would be not work properly. For another I didn't even know
              > about ?|

              Flo and Sheri - you are both scary good :-)
              Current documentation for Notetab regular expressions: Regex.chm (mine
              is dated Friday, March 27, 2009, 05:08:00) includes:

              (?| - DUPLICATE SUBPATTERN NUMBERS it says introduced with Perl 5.10)
              but does not include any mention I could find of
              (?N option - allow duplicate names

              from the Regex.chm we have:
              > INTERNAL OPTION SETTING
              >
              > The settings of the PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, and
              > PCRE_EXTENDED options (which are Perl-compatible) can be changed from
              > within the pattern by a sequence of Perl option letters enclosed
              > between "(?" and ")". The option letters are
              >
              > i for PCRE_CASELESS
              > m for PCRE_MULTILINE
              > s for PCRE_DOTALL
              > x for PCRE_EXTENDED

              In http://www.pcre.org/pcre.txt we have:
              > OPTION SETTING
              >
              > (?i) caseless
              > (?J) allow duplicate names
              > (?m) multiline
              > (?s) single line (dotall)
              > (?U) default ungreedy (lazy)
              > (?x) extended (ignore white space)
              > (?-...) unset option(s)
              I'm confused .... ?
              Unfortunately neither (?| nor (?J appears to be supported in current
              RegexBuddy - I think its still a couple of versions behind in its PCRE
              support / (emulation?)

              --
              Regards ... Alec (buralex@gmail & WinLiveMess - alec.m.burgess@skype)




              [Non-text portions of this message have been removed]
            Your message has been successfully submitted and would be delivered to recipients shortly.