5
2

[Solved] How do you delete the first character of a variable, even if it's `n?

11mon 27d ago by programming.dev/u/Flagstaff in ahk@programming.dev

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.

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 ".".

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