Correct output should be: all lines in 1 is collapsed to one line, all lines in 1A is collapsed to one line etc.
Separately, Is there supposed to be some difference between f11 vs ^f11 vs +f11 code?
Code: Select all
!f11::
!#v::
r := strReplace(clipboard,". `r`n",". ") ;pull text to same row
r := strReplace(r,"`r`n`r`n","`r`n") ;remove blank lines
r := strReplace(r,"`r`n`t","`r`n") ;remove leading tabs
r := strReplace(r,"`t"," ") ;replace tab with spaces
clipboard := r
SendInput ^v
return
f11::
Needle = (?<!\v)\R(?!\R)
clipboard := RegExReplace(RegExReplace(clipboard, Needle, " "), " +", " ")
SendInput, ^v
return
^f11:: ; 1 paragraph
StringReplace, clipboard, clipboard, `r, , all
StringReplace, clipboard, clipboard, `n `n, |, all
StringReplace, clipboard, clipboard, `n`n, |, all
StringReplace, clipboard, clipboard, `n, %A_Space%, all
StringReplace, clipboard, clipboard, |,`r`n`r`n, all
SendInput ^v
return
+f11::
Clipboard:=RegExReplace(Clipboard,"m)^[ \t]*$","`r`n")
; copied from http://ahkscript.org/docs/commands/StringReplace.htm
; Remove all blank lines from the text in a variable:
Loop
{
StringReplace, ClipBoard, ClipBoard, `r`n`r`n, --[ahkparagraphmarker]--, UseErrorLevel
if ErrorLevel = 0 ; No more replacements needed.
break
}
;Replace all new lines with a space topreventjoinedwords
StringReplace, ClipBoard, ClipBoard, `r`n, %A_Space%, All
; Remove all double spaces (useful for justified text)
Loop
{
StringReplace, ClipBoard, ClipBoard, %A_Space%%A_Space%, %A_Space%, UseErrorLevel
if ErrorLevel = 0 ; No more replacements needed.
break
}
; re-create paragraphs again
StringReplace, ClipBoard, ClipBoard,--[ahkparagraphmarker]--,`r`n`r`n, All
; remove any leftover remaining leading spaces
Clipboard:=RegExReplace(Clipboard,"m)^[ \t]*")
Send ^v
Return