De eerste keer dat dit mij beet, was ik een blokje voorwaarden uit een PDF aan het kopiëren naar een support reply, Het zag er prima uit in de PDF Op het moment dat het in mijn editor belandde veranderde het in een trap, elke regel knapte naar een nieuwe rij halverwege de pagina, omdat de PDF een harde terugkeer had gebakken in het einde van elke visuele lijn Het met de hand repareren betekende het verwijderen van een nieuwe regel, het toevoegen van een spatie, en dat veertig keer herhalen Ik heb genoeg tools gebouwd op Toolz.dev om te weten wanneer een baan de moeite waard is om te automatiseren, en deze was al jaren stilletjes mijn tijd aan het verspillen Dus heb ik de verwijder het gereedschap voor regelonderbrekingen, en deze gids is alles wat ik heb geleerd over waarom het probleem bestaat en hoe het op de juiste manier kan worden schoongemaakt.
tl;dr: Tekst gekopieerd van PDF's, e-mails en terminals heeft vaak een regeleinde aan het einde van elke weergaveregel in plaats van alleen aan het einde van elke alinea. plakken laat gebroken, haveloze regels achter De verwijder het gereedschap voor regelonderbrekingen verwijdert die nieuwe regels en voegt de tekst samen met een scheidingsteken dat u kiest, en de paragraafbewuste modus houdt de lege regels tussen alinea's, zodat het resultaat leest als proza, niet één gigantische doorloopregel. Het draait allemaal in uw browser, dus er wordt niets geüpload.
Waarom staat mijn gekopieerde tekst vol regelafbrekingen?
Het korte antwoord is dat een regeleinde en een alinea-einde twee verschillende dingen zijn, en dat veel software deze in verwarring brengt.
Wanneer u een tekstverwerker of een browser intypt, drukt u alleen op Enter aan het einde van een alinea De tekst wordt automatisch binnen de alinea ingepakt, zodat de visuele lijnen die u ziet direct worden bepaald door de breedte van het venster Er zijn helemaal geen regelafbrekingstekens binnen de alinea Dat heet soft wrapping, en daarom wordt dezelfde alinea opnieuw schoon weergegeven wanneer u het formaat van het venster wijzigt.
Een heleboel andere bronnen doen het tegenovergestelde Een PDF slaat de positie van elke regel op, dus wanneer je tekst eruit kopieert, plaatst de extractor vaak een echt newline-teken aan het einde van elke regel die hij op de pagina ziet E-mails in platte tekst werden historisch verpakt in 72 of 76 kolommen met een harde return op elke regel, een conventie die dateert van vóór het web en nog steeds verschijnt in mailinglijsten en geciteerde antwoorden Codecommentaren, logbestanden en alles wat op een terminal met een vaste breedte wordt afgedrukt, doen hetzelfde In al deze gevallen markeert de nieuwe regel niet het einde van een gedachte, het markeert het einde van een fysieke lijn die toevallig zo breed was.
Wanneer je dat plakt op een plek die aan soft wrapping doet, botsen de twee ideeën op elkaar Je editor wikkelt de tekst al om te passen, en nu zijn er extra harde retouren die de lijnen kort knippen voordat ze de rand bereiken Het resultaat is de trap: lijnen die op vreemde plaatsen breken, weigeren opnieuw te stromen en er gebroken uitzien in elke venstergrootte behalve degene waarvan ze zijn gekopieerd.
Wat doet het verwijderen van regeleinden?
Regelbreuken verwijderen betekent die nieuwe regeltekens verwijderen en de stukken weer aan elkaar plakken zodat de woorden weer als doorlopende tekst vloeien De enige echte beslissing is wat je in de opening moet plaatsen waar elke nieuwe regel zich bevond.
Meestal wil je een enkele spatie, omdat de nieuwe regel in de plaats kwam van de spatie tussen twee woorden die een zin normaal gesproken zou hebben Soms wil je helemaal niets, bijvoorbeeld wanneer een lang getal of een code-token over twee regels werd gesplitst en zonder opening weer moet worden samengevoegd En soms wil je een komma of een ander scheidingsteken, omdat de lijnen echt een lijst waren en je ze op één rij als komma-gescheiden waarden wilt hebben. De tool geeft je deze allemaal, plus een aangepast veld voor al het andere.
Er is nog een teken dat de moeite waard is om te weten over Windows eindigt regels met twee tekens, een wagenretour gevolgd door een lijnfeed, geschreven als CRLF. Unix en moderne macOS gebruiken een enkele lijnfeed, LF. Zeer oude Mac-software gebruikte een eenzame wagenretour, CR. Als je tekst uit verschillende bronnen mengt, kun je eindigen met een haveloze combinatie van alle drie, en een naïeve find-and-replace die slechts naar een van hen zoekt, laat de andere achter. De tool voor het verwijderen van regelonderbrekingen normaliseert eerst alle drie, dus het maakt niet uit waar je tekst vandaan komt, elke regeluiteinde wordt op dezelfde manier afgehandeld.
Hoe verwijder ik regeleindes maar bewaar ik mijn alinea's?
Dit is de functie die het gereedschap van een bot instrument in een nuttig instrument verandert, dus het is de moeite waard om te begrijpen.
Als je gewoon elke nieuwe regel in een document verwijdert, krijg je één enorme alinea Alle zinnen lopen samen in één ononderbroken regel, en de structuur die de tekst leesbaar maakte is verdwenen Dat is af en toe wat je wilt, maar meestal is het niet Wat je wilt is het verwijderen van de toevallige regeleindes binnen elke alinea, terwijl de bewuste pauzes tussen alinea's behouden blijven.
Het gereedschap onderscheidt de twee door naar lege regels te kijken Een enkele nieuwe regel wordt behandeld als een toevallige breuk binnen een alinea en wordt verwijderd Een lege regel, dat is twee nieuwe regels op een rij, wordt behandeld als een echte alinea grens en wordt bewaard Dus een document dat werd gebroken als volgt
The quick brown fox
jumps over the lazy dog.
A second paragraph
follows after a blank line.
komt uit als twee schone alinea's met een lege regel ertussen, in plaats van één lange regel Dit is precies de vorm van tekst die is gekopieerd uit een PDF of een ingepakte e-mail, waarbij elke alinea intern is verbroken maar de alinea's zijn gescheiden door een lege regel Laat de optie keep-paragraph-breaks aan, wat de standaard is, en de tool doet het juiste zonder verder te rommelen.
Wanneer u werkelijk alles op één regel wilt, schakelt u die optie uit. Elke nieuwe regel in de hele invoer wordt vervolgens vervangen door het door u gekozen scheidingsteken, en zo verandert u een kolom met waarden in een enkele, door komma's gescheiden rij.
Welke separator moet ik kiezen?
Het scheidingsteken is de tekenreeks die elke verwijderde regeleinde vervangt De juiste keuze hangt af van wat de regels vertegenwoordigen Hier is hoe de gemeenschappelijke opties zich gedragen op dezelfde invoer met drie regels apple, banana, cherrypiepsel
| roomafscheider | Resultaat | Gebruik het wanneer |
|---|---|---|
| Space | apple banana cherry |
De regels zijn woorden of zinsfragmenten die als proza moeten worden gelezen |
| helemaal niet | applebananacherry |
Eén enkel token werd over de lijnen verdeeld en moet zonder opening weer aansluiten |
| Komma | apple, banana, cherry |
De regels zijn een lijst die u wilt als door komma's gescheiden waarden |
| Semicolon | apple; banana; cherry |
U hebt een lijstscheidingsteken nodig dat niet botst met komma's in de gegevens |
| Pipe | apple | banana | cherry |
U bouwt een Markdown-tabelrij of een afgebakend record |
| Custom | Wat je ook typt | Je hebt een specifieke schrijnwerker nodig zoals - of een tabblad |
Ruimte is de standaard omdat deze veel vaker klopt dan welke andere keuze dan ook voor gewoon proza. De lijstscheidingstekens komen tot hun recht wanneer u gegevens opnieuw vormgeeft in plaats van ze te lezen, bijvoorbeeld door een gekopieerde kolom uit een spreadsheet in één rij te veranderen die u in een query kunt plakken.
Wat doen de opruimmogelijkheden?
Twee extra schakelaars ruimen de uitvoer buiten de verbinding zelf op, en beide staan standaard aan omdat ze bijna altijd helpen.
Trim verwijdert de witruimte aan het begin en einde van elke regel voordat de regels worden samengevoegd Dit is belangrijk omdat gekopieerde tekst vaak achterliggende spaties bevat die je niet kunt zien, en inspringing aan het begin van een regel die je niet wilt behouden zodra de regel niet langer zijn eigen regel is Zonder trimmen overleven die verdwaalde spaties de verbinding en verschijnen ze als ongemakkelijke gaten in het midden van de samengevoegde tekst.
Spaties samenklappen gaat nog een stap verder en reduceert elke run van twee of meer spaties of tabbladen tot een enkele spatie, zodra regels zijn samengevoegd, is het gemakkelijk om te eindigen met dubbele spaties waar een achterliggende spatie een voorliggende spatie ontmoette, of waar de originele tekst spaties gebruikte om iets op één lijn te brengen Ze samenklappen geeft je de enkele spatie die proza verwacht Belangrijk is dat dit alleen spaties en tabbladen raakt, nooit de nieuwe regels die je alinea's scheiden, dus het maakt de paragraafbewuste verbinding niet ongedaan.
Er is ook een optie voor verwijderen-lege regels, standaard uitgeschakeld, voor het geval dat de invoer verdwaalde lege regels heeft, wilt u geen alinea-openingen worden. Als u erop zit, worden lege regels verwijderd in plaats van behouden, wat handig is voor het opschonen van export met dubbele afstanden.
Is dit in de browser veilig doen?
Ja, en dit is een punt waar ik om geef omdat het de hele ontwerpfilosofie achter Toolz.dev is De tool regelonderbrekingen verwijderen draait volledig in uw browser met behulp van JavaScript De tekst die u plakt wordt verwerkt in het geheugen van de pagina die u bekijkt, en het wordt nooit geüpload naar een server Er is geen account, geen logboekregistratie en geen netwerkverzoek dat uw inhoud ergens bevat.
Dat doet er meer toe dan het eerst lijkt De tekst die mensen het vaakst opnieuw moeten laten vloeien is tekst die ze ergens privé hebben gekopieerd: een contract uit een PDF, een interne e-mail, een klantbericht, een blok code Dat naar een externe server sturen om de nieuwe regels te laten verwijderen zou een absurde privacyhandel zijn voor zo'n triviale bewerking Omdat het werk lokaal is, is er ook geen uploadlimiet, dus een heel groot document wordt zo snel opnieuw geblazen als een kort document, en de tool blijft werken, zelfs als uw verbinding afneemt nadat de pagina is geladen Als u het langere argument wilt waarom verwerking aan de clientzijde de juiste standaard is voor nutsbedrijven als deze, heb ik het opgeschreven in de gids voor gegevensprivacy en online tools.
Hoe is dit anders dan vinden en vervangen?
Je kunt dit natuurlijk zelf doen in elke editor met zoeken en vervangen, en voor eenmalig is het prima. De reden dat ik nog steeds naar de speciale tool reik, komt neer op de drie dingen die een handmatige zoek-en-vervanging verkeerd doet.
Eerst het paragraafprobleem Een duidelijke vervanging van newline door space maakt alles plat in één regel, omdat het geen in-alinea breuk van een alineagrens kan vertellen Om alinea's met de hand te behouden moet je een tweestapsdans doen: eerst de dubbele newline vervangen door een placeholder, dan enkele newlines vervangen door spaties, dan de dubbele newlines terugzetten Dat is fiddly en makkelijk fout te krijgen.
Ten tweede de gemengde lijnuitgangen. Als uw tekst een mix heeft van CRLF, LF en CR, mist een enkel zoek-en-vervangpatroon er enkele, en blijft u op jacht naar de achterblijvers. Het gereedschap normaliseert ze alle drie vooraan.
Ten derde, de witruimte opruimen Na het verbinden, wilt u meestal de dubbele spaties inklappen en de uiteinden bijsnijden, wat een of twee meer vervangpassen zijn die in de juiste volgorde worden uitgevoerd Het gereedschap vouwt dat allemaal in een enkele bewerking met zichtbare schakelaars, zodat u precies kunt zien wat iedereen doet en aanpassen zonder het hele ding opnieuw te doen.
Niets van dit alles is onmogelijk met de hand Het is gewoon traag en foutgevoelig genoeg dat een speciaal gebouwde tool zichzelf terugverdient de tweede of derde keer dat je het nodig hebt Dezelfde logica is waarom ik een hele plank van kleine teksthulpprogramma's bewaar, zoals de regelverwijderaar dupliceren voor het ontduiken van een lijst en de lijnsorteerder om er een te bestellen, in plaats van elke keer naar een scratchscript te grijpen.
Wanneer zou ik alle regeleindes willen verwijderen?
Er zijn echte gevallen waarin alles in één regel wordt samengevouwen, en ze zijn de moeite waard om te bellen, zodat u weet wanneer u de paragraafoptie moet uitschakelen.
De duidelijkste is het hervormen van gegevens U kopieert een enkele kolom uit een spreadsheet en deze komt als één waarde per regel aan U wilt dat deze als een door komma's gescheiden lijst in een SQL wordt geplaatst IN (...) clausule of een config-array Schakel keep-paragraph-breaks uit, kies het kommascheider en u heeft uw rij. Hetzelfde geldt voor het bouwen van een Markdown-tabelrij met de pijpscheider, of het samenstellen van een queryreeks.
Een andere is het opnieuw aansluiten van een token dat was ingepakt Een lange URL, een base64 blob of een API-sleutel die in een e-mail over regels is gesplitst, moet één continue string worden zonder scheidingsteken. Zet alinea-einden uit, kies niets als scheidingsteken en de fragmenten versmelten weer tot één enkel token.
De vuistregel is eenvoudig Als u proza aan het schoonmaken bent zodat een mens het kan lezen, houd dan alinea's aan Als u de tekst opnieuw vormgeeft in één machinaal leesbare waarde, schakel ze dan uit. Als u op dezelfde invoer tussen de twee kunt schakelen en onderweg naar de resultaatupdate kijkt, is dit de reden dat ik beide gedragingen in één tool heb ingebouwd in plaats van in twee. En als de opgeschoonde tekst ergens naartoe gaat, blijft u bewerken, de bredere kit op de site, van de case converter naar de woordenteller, gaat verder waar deze ophoudt Voor de bredere set van alledaagse tekst - en codehelpers, de Handleiding voor productiviteitstools voor is een goede kaart, en de Handleiding voor coderingshulpmiddelen dekt de opmaakzijde.
Veelgestelde vragen
Hoe verwijder ik regelonderbrekingen uit tekst?
Plak uw tekst in het hulpmiddel regelonderbrekingen verwijderen en bewaar de standaardinstellingen Het vervangt elke regelonderbreking binnen een alinea door een enkele spatie en toont het samengevoegde resultaat direct, dat u vervolgens kunt kopiëren Het hele ding gebeurt in uw browser.
Hoe bewaar ik mijn alinea's bij het verwijderen van regeleinden?
Laat de optie keep-paragraph-breaks aan, wat de standaardinstelling is. Het hulpmiddel maakt dan alleen de afzonderlijke regelbreuken in elke alinea vlak en houdt één lege regel tussen de alinea's, zodat de structuur van de tekst behouden blijft in plaats van in één regel te vallen.
Kan ik alle lijnen samenvoegen tot één lijn?
Ja. Schakel de optie keep-paragraph-breaks uit en de volledige invoer wordt samengevouwen tot één doorlopende lijn, wat handig is om een kolom met waarden in één enkele door komma's gescheiden rij te veranderen of om weer een token te voegen dat over lijnen is gesplitst.
Wat is het verschil tussen een lijnonderbreking en een rijtuigretour?
Een regeleinde is het newline-teken dat wordt gebruikt op Unix- en moderne Mac-systemen. Een carriage-retour is het oudere Mac-einde, en Windows gebruikt beide samen als CRLF. De tool normaliseert ze alle drie, dus elke brontekst voegt zich op dezelfde manier samen, ongeacht waar deze vandaan komt.
Hoe vervang ik regeleindes door een komma in plaats van een spatie?
Kies het kommascheider Elke verwijderde regeleinde wordt vervangen door een komma en een spatie, die een lijst met regels in een door komma's gescheiden lijst verandert Met een aangepaste optie kunt u elke gewenste joiner gebruiken, zoals een tabblad of een streepje.
Waarom heeft de uitvoer nog dubbele spaties?
Dat gebeurt wanneer lijnen al eindigden in spaties voordat ze werden samengevoegd Schakel de optie voor instortingsspaties in om elke reeks spaties of tabbladen terug te brengen tot één enkele spatie, en schakel trim in om eerst de spaties aan de uiteinden van de regels te verwijderen Beide staan standaard aan.
Verandert het verwijderen van regeleindes de woorden in mijn tekst?
Nee. De tool verwijdert alleen de nieuwe regeltekens en, als je het vraagt, de witruimte van de opruiming. De woorden, interpunctie en hun volgorde blijven precies zoals ze waren, dus de betekenis van de tekst is ongewijzigd.
Is het veilig om privétekst hier te plakken?
Ja Alle verwerking gebeurt volledig in uw browser met JavaScript Uw tekst wordt nooit geüpload of opgeslagen, en de tool blijft werken zonder netwerkverbinding zodra de pagina is geladen, waardoor het veilig is voor contracten, e-mails en code.



