www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

leo1983

Gepostet:
11.12.2007 00:29

Aus String leerzeichen löschen  
Hallo, ich möchte gerne eine Funktion implementieren, die aus einem von mir eingegebenen String die Leerzeichen löscht.
Habe mehrer Stunden daran rumgetüftelt aber bin auf keinen grünen Zweig gekommen. Mein Ansatz:

delWS :: [[Char]] -> [Char]
delWS [] = []
delWS (x:xs) = x == 0 : delWS xs

Aber ich denke mal der ist leider falsch :-(
Zum Seitenanfang    
 
Siracusa

Gepostet:
11.12.2007 04:44

   
Hallo Leo,

der Typ deiner Funktion ist bereits falsch, delWS :: String -> String (oder auch [Char] -> [Char]) müßte es heißen, weil du ja nicht eine Liste von Strings in einen String umwandeln willst.

Eine Fallunterscheidung kannst du in Haskell z.B. so vornehmen:
delWS (x:xs)
| x == ' ' = ... -- x ist Leerzeichen
| otherwise = ... -- x ist ein anderes Zeichen

oder auch so:

delWS (x:xs) = if (x==' ') then ... else ...

Ansonsten ist dein Ansatz schon richtig. Wenn x das Leerzeichen ist kommt es weg, sonst bleibt x dran. Und der Rest wird in beiden Fällen weitergeprüft.


Viele Grüße,

Siracusa
Zum Seitenanfang    
 
leo1983

Gepostet:
11.12.2007 11:32

Danke  
Ah danke, jetzt hab ich es hinbekommen
Zum Seitenanfang