Alright, how about this. We'll use a loop that will continue to execute while there are still multiple @CRLF@CRLFs in the string.
; Our example string
Local $sExample = "This" & @CRLF & @CRLF & "is an example." & @CRLF & @CRLF & @CRLF & @CRLF & @CRLF & @CRLF & @CRLF & "This is another line" & @CRLF & @CRLF & @CRLF & @CRLF & @CRLF & @CRLF & "with some extra" & @CRLF & @CRLF & @CRLF & @CRLF & "line breaks." & @CRLF
; Create your variable that will be used for the while loop
Local $iCrlf2 = StringInStr($sExample, @CRLF & @CRLF)
; $iCrlf2 is the index in the string where @CRLF&@CRLF is. If it's in the string then it will be > 0, if it's not then $iCrlf2 will be 0
; and the loop will exit
While ($iCrlf2)
; Replace the double @CRLF with a single @CRLF
; I.e., there is @CRLF & @CRLF & @CRLF in one spot, this will replace the first instance of @CRLF & @CRLF with only 1 @CRLF,
; thus making 3x@CRLF turn into 2x@CRLF. When the loop executes again, that 2x@CRLF now becomes 1x@CRLF
$sExample = StringReplace($sExample, @CRLF & @CRLF, @CRLF)
; Update $iCrlf2 with the new index in the string
$iCrlf2 = StringInStr($sExample, @CRLF & @CRLF)
WEnd
ConsoleWrite($sExample & @LF)
Hopefully my comments make sense. The loop will execute when it finds 2x@CRLF in a row. It will then replace the 2x@CRLF with 1x@CRLF. So all multiple instances of @CRLF next to each other will be subtracted by one on each pass through.
Take, for instance, the first long @CRLF chain.
7 line feeds. On the first pass through it will replace the first 2x@CRLF with one, so it will subtract one from the chain making it 6. Continueing to do this while there are still 2x@CRLF in the string.