Usuwanie znaków pasujących do wzorca

Haskell:
Usuwanie znaków pasujących do wzorca

Jak to zrobić:

import Data.List (isInfixOf)

deletePattern :: String -> String -> String
deletePattern pattern = filter (not . isInfixOf pattern . (:[]))

main :: IO ()
main = do
  let text = "Hej, to jest przykładowy tekst."
  let pattern = "kł"
  putStrLn $ "Przed: " ++ text
  putStrLn $ "Po: " ++ deletePattern pattern text

Output:

Przed: Hej, to jest przykładowy tekst.
Po: Hej, to jest przyadowy tekst.

Dogłębna analiza

Usuwanie znaków pojawia się w wielu zadaniach programistycznych, od prostego czyszczenia stringów po zapewnienie bezpieczeństwa poprzez usunięcie potencjalnie szkodliwych sekwencji. Rozwiązanie w Haskellu korzysta z wyrażeń funkcyjnych, które są eleganckim narzędziem do pracy z kolekcjami danych. Haskell oferuje alternatywne metody, jak moduł Text.Regex, który umożliwia bardziej zaawansowane operacje z wykorzystaniem wyrażeń regularnych. Implementacja deletePattern pokazuje, jak możliwości Haskella są wykorzystywane do tworzenia zwięzłego i czytelnego kodu.

Zobacz również