Quotes verwijderen uit een string

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: