Elixir:
Usuwanie cudzysłowów z ciągu znaków
Jak to zrobić:
Elixir nie ma wbudowanej funkcji ‘usuń cudzysłowy’, ale stworzenie własnej funkcji za pomocą dopasowania wzorca lub funkcji String
to pestka. Oto kilka fragmentów:
# Przy użyciu dopasowania wzorca
def unquote_string("\"" <> quoted_string <> "\""), do: quoted_string
def unquote_string("'" <> quoted_string <> "'"), do: quoted_string
def unquote_string(quoted_string), do: quoted_string
# Przykładowe użycie
unquote_string("\"Hello, World!\"") # => "Hello, World!"
unquote_string("'Hello, World!'") # => "Hello, World!"
# Przy użyciu String.trim/1
def unquote_string(string), do: String.trim(string, "'\"")
# Przykładowe użycie
unquote_string("\"Hello, World!\"") # => "Hello, World!"
unquote_string("'Hello, World!'") # => "Hello, World!"
Wynik dla obu metod będzie:
"Hello, World!"
Pogłębiona analiza
W przeszłości, cudzysłowy w ciągach znaków były polem minowym — źle je obsłuż i boom, błędy składni czy luki w zabezpieczeniach. W Elixirze, dopasowanie wzorca traktuje twoje ciągi jak klocki Lego, pozwalając wybrać i zbudować z precyzją. Jego solidny moduł String
również jest przydatny, elastycznie eliminując cudzysłowy za pomocą funkcji trim
. Alternatywy? Wyrażenia regularne mogą pozbyć się cudzysłowów, a zewnętrzne biblioteki mogą zaoferować dodatkową siłę ognia, jeśli potrzebujesz więcej niż podstawowe usuwanie.
Zobacz również
Zagłęb się głębiej dzięki tym zasobom: