Normalizzare i puntini di sospensione e i tre punti
Le forme dei puntini di sospensione spesso si mescolano quando un testo passa tra editor, sistemi di contenuti, documenti copiati e strumenti di pubblicazione.
Esegui gratis nel browser
Questa capacità uniforma i segni di omissione senza modificare altra punteggiatura. Lei può trasformare ogni sequenza di tre punti consecutivi nel singolo carattere Unicode oppure espandere ogni carattere di sospensione in tre punti comuni. La conversione è deterministica, conserva esattamente parole e spazi circostanti e indica quante sostituzioni sono state eseguite. È quindi adatta sia alla revisione occasionale sia a flussi ripetibili di elaborazione del testo.
Scelga lo stile richiesto dalla destinazione
I puntini di sospensione hanno due rappresentazioni comuni: tre caratteri punto, <code>...</code>, oppure un singolo carattere Unicode, <code>…</code>. Possono sembrare uguali in un paragrafo, ma sono dati diversi. Ricerca, limiti di caratteri, regole tipografiche e validatori possono trattarli diversamente. Selezioni <code>periods_to_ellipsis</code> quando una pubblicazione, un design system o una guida di stile richiede il carattere Unicode compatto. Selezioni <code>ellipsis_to_periods</code> quando testo semplice, sistemi legacy, convenzioni del codice sorgente o set di caratteri limitati richiedono la punteggiatura ASCII. La prima modalità è predefinita. La direzione scelta viene applicata all’intero testo, comprese più occorrenze sulla stessa riga o su righe diverse. Parole, spazi, virgolette e ogni segno diverso dalla forma richiesta restano invariati: l’operazione è mirata e prevedibile, non una revisione editoriale generale.
Comprenda esattamente cosa viene sostituito
In modalità <code>periods_to_ellipsis</code>, ogni sequenza non sovrapposta di tre punti consecutivi incontrata dalla scansione diventa un carattere di sospensione. Sei punti diventano quindi due caratteri, mentre uno o due punti restano invariati. In modalità <code>ellipsis_to_periods</code>, ogni carattere Unicode di sospensione diventa tre punti. Lo strumento non deduce se la punteggiatura indichi esitazione, citazione omessa, linea puntinata o errore di battitura: esegue la conversione esplicita richiesta. Non aggiunge né elimina spazi, perché le convenzioni cambiano tra stili e lingue e questa capacità uniforma solo la rappresentazione. La risposta comprende il testo convertito, il nome canonico della modalità e il numero di sostituzioni. Un conteggio pari a zero è valido e indica che la forma cercata non era presente. Lei può usarlo per individuare i record modificati senza confrontare interi documenti.
Usi la normalizzazione in modo sicuro
Per un singolo brano, incolli il testo, scelga la direzione e controlli il risultato prima di inserirlo nell’impaginato. Nei processi automatici, richiami la stessa operazione subito dopo l’importazione o prima dell’esportazione, così ogni documento attraversa un confine di normalizzazione chiaro. Applicare uno stile dichiarato in una fase stabile impedisce a editor e renderer di reintrodurre forme miste. La trasformazione è idempotente in una direzione fissa: ripetere <code>periods_to_ellipsis</code> sul suo risultato non cambia altro, e vale lo stesso per <code>ellipsis_to_periods</code>. Invertire poi la direzione modifica tutte le forme corrispondenti, non solo quelle prodotte prima, perché il testo semplice non conserva la provenienza. L’algoritmo non usa rete, modelli, casualità o orologio; input e modalità uguali generano sempre output uguali. Il browser è utile per correzioni manuali, mentre ogni richiesta API costa $0.002 ed è adatta a pubblicazione, migrazione, correzione e importazione in blocco.
Casi d'uso
Applicare una guida editoriale
Converta sequenze miste di tre punti nel carattere dedicato prima dell’impaginazione e della revisione.
Preparare testo solo ASCII
Espanda i caratteri Unicode in punti comuni prima di inviare contenuti a un sistema legacy o limitato.
Uniformare contenuti importati
Applichi una regola prevedibile ai record provenienti da editor, documenti, feed e sistemi di contenuti.
Domande frequenti
Quanto costa questa capacità?
Ogni richiesta API costa $0.002. Lei può anche usare la versione per browser disponibile nella pagina.
Modifica gli spazi attorno al segno?
No. Cambia solo i caratteri selezionati e conserva esattamente gli spazi circostanti.
Cosa accade a sei punti consecutivi?
Nella modalità dai punti al carattere, la scansione non sovrapposta li converte in due caratteri di sospensione.
Modifica punti singoli o numeri decimali?
Uno o due punti restano invariati. Nella direzione predefinita viene trasformata solo una sequenza di tre punti.
È sicuro eseguire due volte la stessa conversione?
Sì. L’output uniformato non contiene più il modello sorgente della modalità, quindi la seconda esecuzione produce zero sostituzioni.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/str/normalize-ellipsis \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Wait... is that all?"}'const res = await fetch("https://api.kit.forhosting.com/str/normalize-ellipsis", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Wait... is that all?"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/normalize-ellipsis",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Wait... is that all?"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/normalize-ellipsis", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Wait... is that all?"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Wait... is that all?"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/normalize-ellipsis", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "Wait... is that all?"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.normalize_ellipsis",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |