Haskell:
Rimuovere le virgolette da una stringa
Come fare:
In Haskell, possiamo creare una funzione che rimuove tutte le virgolette da una stringa data. È come dire alle virgolette di andarsene, e assicurarsi che colgano l’indizio.
import Data.List (intercalate)
import Data.Char (isPunctuation)
removeQuotes :: String -> String
removeQuotes = filter (\c -> c /= '"' && c /= '\'')
main :: IO ()
main = do
let stringWithQuotes = "Haskell ha detto, \"Impariamo alcune funzioni!\""
putStrLn $ removeQuotes stringWithQuotes
Esempio di Output:
Haskell ha detto, Impariamo alcune funzioni!
Approfondimento
C’era una volta, prima che le stringhe nella programmazione fossero comuni come i video di gatti su internet, manipolare il testo era un’affare delicato. Ma con l’evoluzione dei linguaggi di programmazione, le stringhe sono diventate una parte cruciale della codifica. Eppure, le virgolette sono rimaste una spada a doppio taglio—essenziali per definire le stringhe, ma fastidiose quando incluse come dati effettivi.
Alternative? Invece di scacciare via tutte le virgolette come fossero mosche, puoi essere selettivo. Potresti voler rimuovere solo le virgolette esterne (un classico trim) o gestire le virgolette escape all’interno di una stringa.
Dal punto di vista dell’implementazione, la funzione removeQuotes
sopra utilizza una lambda per controllare ogni carattere (c
) per vedere se è una virgoletta fastidiosa e li filtra di conseguenza. Questo è un approccio diretto, ma per testi più grandi o regole più complesse, potresti voler esaminare le librerie di parser come Parsec
che possono offrirti più finezza e potenza nell’elaborazione del testo.
Vedi Anche:
- Per gli amanti delle regex: Text.Regex.Posix
- Un’introduzione dolce alle stringhe di Haskell: Learn You a Haskell for Great Good! - Starting Out