Elixir:
Quotes verwijderen uit een string
Hoe:
Elixir heeft geen ingebouwde ‘verwijder citaten’-functie, maar het is kinderspel om er zelf een te maken met patroonmatching of String
-functies. Zie deze snippets:
# Gebruikmakend van patroonmatching
def unquote_string("\"" <> quoted_string <> "\""), do: quoted_string
def unquote_string("'" <> quoted_string <> "'"), do: quoted_string
def unquote_string(quoted_string), do: quoted_string
# Voorbeeldgebruik
unquote_string("\"Hallo, Wereld!\"") # => "Hallo, Wereld!"
unquote_string("'Hallo, Wereld!'") # => "Hallo, Wereld!"
# Gebruikmakend van String.trim/1
def unquote_string(string), do: String.trim(string, "'\"")
# Voorbeeldgebruik
unquote_string("\"Hallo, Wereld!\"") # => "Hallo, Wereld!"
unquote_string("'Hallo, Wereld!'") # => "Hallo, Wereld!"
Uitvoer voor beide methodes zal zijn:
"Hallo, Wereld!"
Diepere Duik
In het verleden waren citaten in strings een mijnenveld - behandel ze verkeerd, en boem, syntaxisfouten of beveiligingslekken. In Elixir behandelt patroonmatching je strings als Lego-blokken, waardoor je ze nauwkeurig kunt uit elkaar halen en weer opbouwen. De robuuste String
-module komt ook van pas, die flexibel citaten verwijdert met trim
-functies. De alternatieven? Reguliere expressies kunnen citaten naar de curb schoppen, en externe bibliotheken kunnen extra vuurkracht bieden als je meer nodig hebt dan alleen basisstrippen.
Zie Ook
Duik dieper in deze onderwerpen: