Tempo per una nuova tipografia sfida ! È un problema comune durante il copia-incolla tra vari formati di documento: sillabazione. Mentre riduce la sfilacciatura di un layout allineato a sinistra o uniforma la spaziatura in un layout giustificato, è un dolore completo quando il PDF non è costruito correttamente e mantiene i trattini nel layout, rendendo difficile la modifica o il reflow del testo copiato.
Fortunatamente, se dobbiamo credere agli innumerevoli libri di auto-aiuto là fuori, nulla è un problema se lo vedi come una sfida. Credo che questi libri di auto-aiuto si riferiscano senza eccezioni a PPCG, in cui qualsiasi problema verrà risolto se presentato come una sfida. Il tuo compito è rimuovere la sillabazione offensiva e le interruzioni di riga da un testo, in modo che sia pronto per incollare in qualsiasi editor di testo.
Descrizione del problema
Scriverai un programma o una funzione che rimuove la sillabazione e le interruzioni di riga dove applicabile. L' input sarà una stringa su stdin
(o alternativa più vicina) o come input di funzione. L' output (su stdout
o alternativa più vicina o output di funzione) sarà il testo "corretto". Questo testo dovrebbe essere direttamente copiabile. Ciò significa che l'output iniziale o finale è OK, ma l'output aggiuntivo a metà del testo corretto (ad es. Spazi iniziali su ogni riga) non lo è .
Il caso più semplice è il seguente (nota: nessuno spazio finale)
Lorem ipsum dolor sit amet, con-
sectetur adipiscing elit. Morbi
lacinia nisi sed mauris rhoncus.
Il trattino offensivo e le interruzioni di riga devono essere rimossi, per ottenere
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi lacinia nisi sed mauris rhoncus.
Tuttavia, dovrebbero essere osservate alcune eccezioni.
- Newline doppie indicano un'interruzione di paragrafo e devono essere mantenute.
- Nomi e nomi propri non vengono mai suddivisi su due righe, a meno che non contengano già un trattino (ad esempio equazioni di Navier-Stokes). L'interruzione di riga deve essere rimossa, ma il trattino deve essere mantenuto. Questi casi possono essere identificati avendo solo la prima lettera maiuscola.
- A volte, un trattino indica un gruppo di parole (ad esempio diciannovesimo e ventesimo secolo). Quando ciò accade su due righe, questo viene indicato con uno spazio iniziale sulla riga successiva.
Un esempio: (le opinioni espresse in questo esempio sono fittizie e non rappresentano necessariamente l'opinione dell'autore; gli avversari del metodo Runge-Kutta-Fehlberg sono ugualmente benvenuti a partecipare a questa sfida)
Differential equations can
be solved with the Runge-Kutta-
Fehlberg method.
Developed in the nineteenth-
or twentieth century, this
method is completely FANTAS-
TIC.
diventerà
Differential equations can be solved with the Runge-Kutta-Fehlberg method.
Developed in the nineteenth- or twentieth century, this method is completely FANTASTIC.
Le interruzioni di riga possono essere il punto di codice ASCII \n
o in \r\n
base alle proprie preferenze e il trattino è un semplice ASCII -
(segno meno). Il supporto UTF-8 non è richiesto. Questa sfida è il golf di codice , quindi vince il codice più corto.