My current script successfully deletes the first character in a string, unless that character is a newline (`n). Even trying to put m in front of (?) to attempt to make it multiline changes nothing:

Contents := RegExReplace(Contents, '(?)^.{0,1}')

Suppose the variable Contents is:

123
456

It’ll delete 1, then 2, then 3 (if you call it 3 times), but then it will never make it past the line break and get stuck and won’t reach 456. Any help would be appreciated! I’m a Regex newb, but I’m not glued to Regex by any means and would be happy to use any other function to be able to do this. I’m just hopefully trying to do it all in one line, though I will use two lines if it comes down to it.

  • chickenf622@sh.itjust.works
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    4 days ago

    If you’re just trying to strip the first character regardless of what it is then SubStr(Contents, 2) would be a much better. I know you said you weren’t married to regex, but if you wanted to do the same with regex you would do 's)^.', per the documentation the “s” option makes the “.” character include newlines and it’s related characters. By default for some reason Autohotkey’s regexes exclude newlines from the “.”.

    • FlagstaffOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      4 days ago

      Oh, man, I totally didn’t know or must’ve forgotten about SubStr() all this time! Thanks, that does the trick!!