Cleaning Up Text - Deleting extra spaces and line feeds

Post Reply
freecicero
Posts: 14
Joined: 11.07.2024 11:51

Cleaning Up Text - Deleting extra spaces and line feeds

Post by freecicero »

When I paste text from other applications in to Cudatext I frequently am faced with the task of (1) removing extra spaces between words, and (2) removing unwanted line feeds/carriage returns at the end of lines so as to get a single line of text.

I often use a utility like https://codebeautify.org/text-cleaner to do that, but I would prefer to do it within Cudatext if possible.

Is there a plugin that addresses these tasks? If not, what is the best way to search for the endofline/carriage return characters so they can be replaced with nothing?

I see several options regarding switching between CR and LF but I don't see anything addressing the deletion of those characters entirely.

Thank you!
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: Cleaning Up Text - Deleting extra spaces and line feeds

Post by main Alexey »

1. deletion of CR LF chars: command "Join lines" in CudaExt plugin (you have to select-all before calling it)

2. removing of dupl spaces: REGEX replace! replace with Regex flag from
\x20{2,}
to a space.
freecicero
Posts: 14
Joined: 11.07.2024 11:51

Re: Cleaning Up Text - Deleting extra spaces and line feeds

Post by freecicero »

And I already see how to assign those to a toolbar icon -- thank you!!

https://wiki.freepascal.org/CudaText#Ho ... ia_toolbar
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: Cleaning Up Text - Deleting extra spaces and line feeds

Post by main Alexey »

Ok. And i tried to make the SIMPLE plugin for that. w/out macros.
Use "Plugins / Make plugin" command and use this python code for __init__.py:

Code: Select all

import os
import re
from cudatext import *

class Command:
    
    def cln(self):
        s0 = ed.get_text_all()
        s = s0.replace('\n', ' ')
        s1 = re.sub(r'\x20{2,}', ' ', s)
        if s1!=s0:
            ed.set_text_all(s1)
            msg_status('Cleaned')

note: command is "cln" so adjust the "run" in the MakePlugin to "cln".
Post Reply