Italiano

Strumenti di testo

Conversione di maiuscole e minuscole, differenze, conteggio, escape e pulizia degli spazi bianchi per il testo.

Il problema che questo risolve

Gli elenchi di testo arrivano in cattive condizioni. Una colonna di posta elettronica incollata da un foglio di calcolo presenta spazi finali su ogni riga. Un estratto di registro contiene righe duplicate. Un elenco copiato da PDF presenta interruzioni di riga nel mezzo delle frasi. Nessuno di questi è un problema difficile, ma risolverli a mano su quattrocento righe è miserabile e cercare un linguaggio di scripting per una pulizia una tantum è più lento di quanto sembri.

Tutto qui funziona sul testo nella casella sopra. Ogni pulsante rappresenta una trasformazione, applicata all'intero testo, e ognuno di essi può essere annullato. Lavora a piccoli passi e controlla i conteggi man mano che procedi.

Una tipica pulizia, in ordine

L'ordine conta più di quanto le persone si aspettino. Il taglio prima della deduplicazione è quasi sempre corretto: due linee che differiscono solo per uno spazio finale non sono duplicate finché non le tagli, quindi la deduplicazione prima le lascia silenziosamente entrambe al loro posto.

Allo stesso modo, rimuovi le righe vuote prima di ordinare se desideri un risultato compatto, poiché le righe vuote vengono ordinate a un'estremità e lasciano uno spazio vuoto che dovrai comunque rimuovere.

  1. Incolla il testo nella casella.
  2. Taglia le linee per rimuovere gli spazi bianchi iniziali e finali.
  3. Rimuovi le righe vuote.
  4. Rimuovi i duplicati: ora il taglio ha reso identici i duplicati reali.
  5. Ordina A→Z se l'ordine non ha importanza, per rendere il risultato facile da scansionare.
  6. Controlla il conteggio delle righe, quindi copia o scarica.

Contare le cose con precisione

Il pannello delle statistiche si aggiorna durante la digitazione. La maggior parte è autoesplicativa, ma il conteggio dei caratteri merita una nota, perché è il numero che la maggior parte degli strumenti sbaglia.

I computer memorizzano il testo come una sequenza di unità di codice e un singolo carattere visibile può occuparne diversi. L'emoji 👩‍💻 è una cosa che puoi vedere, ma è composta da un'emoji donna, un falegname invisibile e un'emoji portatile: cinque unità di codice in totale. Un contatore ingenuo segnala 5. Questo strumento conta i cluster di grafemi, che è il nome tecnico di "come una persona chiamerebbe un personaggio", quindi riporta 1.

La stessa logica si applica ai caratteri accentati scritti con segni combinati e alle emoji contrassegnate. Se stai contando rispetto a un limite imposto da un sistema diverso (una colonna di database, un gateway SMS, una piattaforma social) tieni presente che l'altro sistema potrebbe contare in modo diverso.

Estrarre cose

I pulsanti di estrazione estraggono e-mail, URL o numeri dal testo non strutturato e li forniscono come elenco pulito, deduplicato e in ordine di apparizione.

L'estrazione URL rimuove la punteggiatura della frase finale, quindi "visita https://example.com." restituisce URL senza il punto e si ferma a una parentesi di chiusura in modo che URL all'interno delle parentesi risulti pulito.

La corrispondenza delle e-mail è deliberatamente pragmatica piuttosto che esaustiva. La specifica completa per un indirizzo email valido consente costruzioni che essenzialmente nessuno usa, e la corrispondenza di tutte produce risultati peggiori sul testo reale rispetto a uno schema più ristretto.

Come la conversione dei casi trova i confini delle parole

Convertire "hello world" in camelCase è semplice. La conversione di parseHTTPResponse2Json è il punto in cui gli strumenti non sono d'accordo, perché i confini sono impliciti anziché contrassegnati.

Questo strumento si divide in tre segnali: qualsiasi sequenza di caratteri non alfabetici e non numerici (spazi, trattini, trattini bassi, punteggiatura); una lettera o cifra minuscola seguita da una lettera maiuscola; e una serie di lettere maiuscole seguite da una coppia maiuscola e poi minuscola. Quest'ultima regola è ciò che separa correttamente "HTTP" da "Response" in parseHTTPResponse, piuttosto che produrre p-a-r-s-e-h-t-t-p-response o trattare l'intero acronimo come una parola incollata a quella successiva.

Il risultato è che parseHTTPResponse diventa parse_http_response in caso di serpente e parse-http-response in caso di kebab, che è ciò che si aspetta la maggior parte delle guide di stile.

Il caso del titolo e il caso della frase sono cose diverse

Il titolo rende maiuscola la prima lettera di ogni parola e minuscolo il resto, quindi "ciao WORLD" diventa "Ciao mondo". Non conosce le regole guida di stile che mantengono parole brevi come "di" e "il" in minuscolo, perché tali regole variano a seconda della pubblicazione e applicarne una silenziosamente sarebbe un'ipotesi.

Le maiuscole e minuscole delle frasi mettono tutto in minuscolo e poi rendono maiuscola la prima lettera di ogni frase, rilevando le estremità della frase con punti interrogativi e punti esclamativi, inclusi i loro equivalenti CJK a larghezza intera. È la scelta giusta per il testo arrivato in ALL CAPS.

Lumache

La trasformazione slug produce un identificatore URL-safe: minuscolo, accenti ripiegati sulle lettere base e ogni sequenza di caratteri non alfanumerici sostituita con un singolo trattino.

La piegatura dell'accento viene eseguita scomponendo i caratteri e rimuovendo i segni di combinazione, quindi "Café Crème" diventa "cafe-creme" anziché "caf-cr-me". Eliminare completamente le lettere accentate è un bug comune nei generatori di lumache e altera i nomi.

I separatori iniziali e finali vengono eliminati e le emoji e gli altri simboli vengono rimossi poiché non hanno una rappresentazione URL utile.

Espressioni regolari senza arresti anomali

Trova e sostituisci ha due modalità. La modalità letterale, quella predefinita, evita ogni carattere speciale, quindi la ricerca di "a.b" trova esattamente "a.b" e non "axb". La modalità Regex trasmette il tuo pattern così com'è.

Ogni modello digitato viene compilato all'interno di una guardia. Se non è valido, riceverai un messaggio che spiega il problema e il tuo testo non verrà modificato. Ciò conta più di quanto sembri: digitare un'espressione regolare è un processo incrementale e un solo "(" è uno stato intermedio perfettamente normale sulla strada verso un modello di lavoro. Uno strumento che genera un errore non gestito in quel momento - o peggio, cancella la scatola - è inutilizzabile.

In modalità regex, la sostituzione supporta i gruppi di acquisizione con $1, $2 e così via. La riformattazione delle date è l'esempio canonico: find (\d{4})-(\D{2})-(\D{2}) e sostituirlo con $3/$2/$1 girare 2024-01-02 in 02/01/2024.

  1. Digita il tuo modello e seleziona "Regex".
  2. Se non è valido, leggi l'errore e continua a modificare: non è stato modificato nulla.
  3. Utilizza $1, $2 nella sostituzione per fare riferimento ai gruppi di acquisizione.
  4. Controlla il conteggio delle sostituzioni riportato in seguito e annulla se non è quello previsto.

Corrispondenza di parole intere

L'opzione "Parola intera" racchiude la ricerca entro i limiti delle parole, quindi la ricerca di "gatto" corrisponde alla parola gatto ma non a "gatto" all'interno di "concatena".

Si compone con entrambe le modalità. Nella modalità letterale il testo viene prima sfuggito e poi delimitato; in modalità regex l'intero pattern è delimitato come un gruppo, quindi alternanze come cat|dog si comportano come ci si aspetterebbe invece di legare il confine solo al primo ramo.

Domande frequenti

Il mio messaggio viene inviato da qualche parte?
No. Ogni trasformazione è una funzione in esecuzione in questa pagina, nel tuo browser. Non è presente alcun server in questo strumento. Puoi guardare il pannello di rete del tuo browser rimanere silenzioso mentre lavori.
Viene salvato qualcosa tra una visita e l'altra?
No. Non c'è salvataggio automatico né cronologia. Ricaricando la pagina o premendo Cancella dati si elimina tutto immediatamente. Questo è un compromesso deliberato: significa che un computer condiviso o pubblico non conserva ciò che hai incollato.
Perché il conteggio dei caratteri è diverso da quello di un altro strumento?
Perché questo strumento conta quelli che chiameresti caratteri - cluster di grafemi - mentre molti strumenti contano unità di codice UTF-16. Sono d'accordo per l'inglese semplice e non sono d'accordo sugli emoji, sui caratteri accentati scritti con segni combinati e su molti script non latini.
Cosa succede se digito un'espressione regolare non valida?
Ricevi un chiaro messaggio di errore che spiega cosa c'era che non andava e il tuo testo viene lasciato esattamente com'era. Lo strumento non si arresta mai in modo anomalo e non cancella mai l'input a causa di un modello non valido.
La deduplicazione conserva la prima o l'ultima copia?
Il primo. La prima occorrenza rimane al suo posto e le copie successive vengono rimosse, quindi l'ordine di ciò che rimane rimane invariato.
Quanto testo può gestire?
Comodamente nei megabyte bassi. Tutto è contenuto nella scheda e viene eseguito sul thread principale, quindi documenti estremamente grandi - decine di megabyte - potrebbero mettere brevemente in pausa l'interfaccia durante una trasformazione.

Cosa non farà questo strumento