Ich möchte eine Zeichenfolge aus einer Eingabedatei mit einer anderen Zeichenfolge ersetzen. Ich war auf der Suche nach einer Methode, aber es scheint, dass ich die Zeichenfolge nur Zeichen für Zeichen ändern kann. Zum Beispiel in dem meinem Code untenSo ersetzen Sie eine Zeichenfolge durch eine andere in Haskell
replace :: String -> String
replace [] = []
replace (x:xs) = if x == '@' then 'y':replace xs --y is just a random char
else x:replace xs
searching :: String -> IO String
searching filename = do
text <- readFile filename
return(replace text)
main :: IO()
main = do
n <- searching "test.sf"
writeFile "writefile.html" n
Ich mag das erste Vorkommen der Zeichenfolge „@title“ zu finden, aber ich kann ein Verfahren scheinen zu finden, so zu tun, wie bereits erwähnt, kann ich nur die Zeichen zugreifen "@" Gibt es eine Methode, um eine solche Aufgabe zu erledigen?
möglich Duplikat [Wie kann ich mit einem anderen einen Teil eine Zeichenkette ersetzen in Haskell ohne externe Bibliotheken wie MissingH?] (Http://stackoverflow.com/questions/14880299/how-can-i-replace-a-substring-of-a-string-with-another-in-haskell-without- Verwendung) –
Ich denke, das wurde bereits hier diskutiert: http://stackoverflow.com/questions/14 880299/how-can-i-replace-a-Teilstring-of-String-mit-einem anderen-in-haskell-ohne-Verwendung – kaan
Dies ist nicht wirklich ein Duplikat. Die andere Frage schließt ausdrücklich die Verwendung anderer Bibliotheken aus, was eine vernünftige Antwort auf diese Frage ist. –