Usuwanie cudzysłowów z ciągu znaków

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: