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 textOutput:
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.