Aggiungere prefisso a ogni riga
Metta lo stesso segno all'inizio di ogni riga: con due barre e uno spazio come prefisso, first line, second line e third line diventano 3 righe commentate. Un cancelletto commenta gli script di shell, il segno di maggiore cita un'email. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- first line second line third line
- Prefisso
- //
- Input
- first line second line third line
- Numero di righe
- 3
- Righe
- // first line, // second line, // third line
- Con prefisso
- // first line // second line // third line
Uno strumento per aggiungere un prefisso a ogni riga trasforma un incolla grezzo di codice, corpo di email, note o checklist in un blocco marcato in modo uniforme che Lei può depositare in ticket, revisioni e documentazione. Inserisca qualsiasi stringa non vuota di una o più righe più il prefisso desiderato all’inizio di ogni riga—scelte comuni includono doppia barra e spazio per i commenti JavaScript, cancelletto e spazio per shell o Python, maggiore-di e spazio per citazioni in stile email, oppure due spazi e un trattino per elenchi indentati. Lo strumento normalizza le interruzioni Windows e Mac classico, divide a ogni interruzione di riga e antepone il prefisso a ogni segmento, comprese le righe interne vuote, così la forma del documento resta stabile.
Come funziona il prefisso su ogni riga
Anteporre un prefisso alle righe è uno dei più antichi schemi di modifica di massa in programmazione e scrittura tecnica: ogni riga visiva riceve lo stesso marcatore iniziale così si può commentare un intero blocco, citare un messaggio o marcare un elenco senza fare clic riga per riga in un editor. Questa capacità applica quella regola quotidiana al testo semplice anziché a documenti rich-text o multi-cursor di IDE.
Prima l’ingresso viene controllato: text assente, un valore non stringa, o una stringa vuota dopo il trim degli spazi viene rifiutato affinché gli incolla vuoti non sembrino mai un successo. Le interruzioni vengono normalizzate così Windows CRLF, Mac classico CR e Unix LF diventano un’unica forma LF prima della divisione. Il divisore spezza poi la stringa a ogni LF; ogni segmento risultante—compresi i segmenti vuoti tra interruzioni consecutive—è una riga e riceve lo stesso prefisso all’inizio.
Il contenuto interno di ogni riga resta invariato: solo l’inizio viene modificato. Quando servono numeri sequenziali invece di un marcatore fisso, usi una capacità di numerazione righe; quando serve togliere spazi ai bordi delle righe, usi uno strumento di trim per riga. Questa pagina tratta solo di anteporre una stringa scelta a ogni riga di testo semplice.
Consigli pratici, limiti e quando usare questo strumento
Usi questa capacità quando l’intento di ricerca è aggiungere un prefisso a ogni riga, anteporre testo alle righe, commentare un blocco di codice o citare ogni riga di un’email. Incolli un frammento di codice e imposti prefix su doppia barra e spazio per commentarlo in una nota di revisione; usi cancelletto e spazio per script shell; usi maggiore-di e spazio per trasformare una risposta incollata in una citazione a blocco; usi due spazi e un trattino per trasformare righe semplici in un marcatore di elenco annidato.
Tenga presenti le interruzioni finali intenzionali: un LF finale crea un ultimo segmento vuoto che riceve comunque il prefisso, come molti editor trattano le interruzioni di fine file. Le righe singole estremamente lunghe contano ancora come una riga ciascuna; lo strumento non va a capo per larghezza di caratteri. Le sorgenti HTML e Markdown vengono prefissate come stringhe grezze; rimuova prima il markup se desidera solo righe di prosa visibili.
Questa pagina non è un numeratore sequenziale di righe, né un trimmer per riga, né un motore trova e sostituisci, né un multi-cursor completo di IDE. Preferisca la numerazione delle righe quando i revisori devono citare indici esatti; preferisca il trim per riga quando il problema sono spazi iniziali irregolari; preferisca questa capacità quando ogni riga necessita dello stesso marcatore fisso.
Nell’insegnare lo stile del codice, prefissi lo stesso frammento due volte con marcatori diversi così gli allievi vedono come la sintassi dei commenti differisce tra linguaggi mentre la trasformazione resta stabile.
Casi d'uso
Commentare blocchi di codice
Incolli un frammento, imposti prefix su "// " o "# ", e ottenga un blocco interamente commentato pronto per ticket, revisioni o note di disabilitazione temporanea.
Citare risposte di email e chat
Anteporre "> " a ogni riga per trasformare un messaggio incollato in una citazione classica in stile email, utile per risposte e documentazione.
Costruire elenchi marcati o indentati
Aggiunga " - ", "* " o un marcatore personalizzato a righe semplici affinché checklist e note condividano uno stile di elenco coerente.
Domande frequenti
Come sono definite le righe?
Dopo aver normalizzato CRLF e CR in LF, il testo viene diviso a ogni LF. Ogni segmento—compresi quelli vuoti tra interruzioni consecutive—riceve lo stesso prefisso all’inizio.
Cosa succede con l’ingresso vuoto?
Un prefix assente o non stringa fallisce anch’esso la validazione.
Il prefisso può essere vuoto?
Sì. Una stringa prefix vuota è consentita e agisce come no-op dopo la normalizzazione delle interruzioni. I prefissi non stringa o troppo lunghi (oltre 256 caratteri) vengono rifiutati.
Aggiunge numeri di riga sequenziali?
No. Antepone la stessa stringa fissa a ogni riga. Usi uno strumento di numerazione delle righe quando servono etichette in stile 1., 2., 3.
Lo strumento di prefisso è gratuito?
Lo strumento del browser è gratuito e viene eseguito in locale.
Strumenti correlati
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/prefix-lines \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"first line\nsecond line\nthird line","prefix":"// "}'const res = await fetch("https://api.kit.forhosting.com/str/prefix-lines", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "first line\nsecond line\nthird line",
"prefix": "// "
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/prefix-lines",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "first line\nsecond line\nthird line",
"prefix": "// "
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/prefix-lines", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"first line\\nsecond line\\nthird line","prefix":"// "}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"first line\nsecond line\nthird line","prefix":"// "}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/prefix-lines", 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": "first line\nsecond line\nthird line",
"prefix": "// "
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.prefix_lines",
"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.
Limiti
max_chars | 100000 |
max_prefix_chars | 256 |
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. |
Note tecniche
Il testo vuoto o solo con spazi viene rifiutato con un errore chiaro invalid_input affinché l’automazione non tratti mai un modulo vuoto come una trasformazione riuscita. Il percorso è logica di stringa pura—senza rete, senza semi casuali, senza dipendenza dall’orologio—così l’esecutore gratuito del browser e l’API prepagata restituiscono lo stesso JSON ogni volta che viene invocata.
Come funziona il prefisso su ogni riga
Il campo prefix è obbligatorio come stringa e può essere vuoto se Lei desidera solo normalizzare le interruzioni di riga; i prefissi non stringa o troppo lunghi falliscono con invalid_input.
Come chiamare l’API e cosa contiene la risposta
La stringa prefix può essere vuota e non deve superare duecentocinquantasei caratteri, coprendo apritori di commento multi-carattere, marcatori di citazione Markdown e brevi schemi di indentazione senza consentire abusi multi-kilobyte. Preferisca inviare il corpo grezzo del documento con le sue interruzioni reali piuttosto che unire tutto in una riga quando vuole veri prefissi multilinea. Invii un corpo JSON con due campi stringa obbligatori: text (alias input, value, string, s, content e body) e prefix (alias pre, head, marker e bullet). Il valore text deve essere non vuoto dopo il trim degli spazi e non superare centomila caratteri affinché una sola richiesta non esaurisca la memoria del Worker o del browser con incolla enormi. In caso di successo la risposta ripete input come la stringa originale inviata, text come la stringa di lavoro con trim, prefix come il marcatore effettivo, line_count come il numero di segmenti prefissati, lines come un array ordinato di stringhe di riga completamente prefissate, prefixed come quelle righe unite con LF, e message come un breve riepilogo in inglese che indica quante righe sono state prefissate e con quale marcatore. La validazione fallita—text assente, valore non stringa, carico eccessivo, contenuto vuoto dopo il trim, prefix assente o non stringa, o prefix troppo lungo—restituisce invalid_input e non viene mai addebitata. Il prezzo è un $0.002 fisso per richiesta riuscita con unità item. In integrazione, asserisca su prefixed o lines per l’elenco completo, su line_count per il totale, e tratti invalid_input come errore del client per invii di moduli vuoti, non come evento di fatturazione.
Consigli pratici, limiti e quando usare questo strumento
I controlli andata e ritorno per i test sono semplici: alimenti tre righe brevi separate da LF con prefix "// " e si aspetti line_count tre e ogni voce di lines che inizia con quel marcatore; invii deliberatamente stringa vuota o spazi per text per confermare invalid_input e il messaggio che chiede una stringa non vuota. Le attività fallite che restituiscono invalid_input non consumano il saldo prepagato, mantenendo economica la validazione dei moduli e i test negativi di CI.