Hmmm, nej desværre er det ikke så udbredt. Jeg kan godt se at dit link er noget ala det jeg skal bruge, mit problem er bare jeg at skal lede efter én del i teksten og slette alt som kommer før det, og derefter når jeg så finder et andet tag så skal den slette alt som kommer efter det!
fun replace _ _ "" = "" | replace x y str = let val head = String.sub (str, 0) val tail = String.substring (str, 1, String.size(str) - 1) tail' = replace x y tail in if head = x then String.str(y) ^ tail' else String.str(head) ^ tail' end;
replace "Otto" "Hans" "Otto er otte år gammel";
Så får jeg fejlen:
Type clash: expression of type string cannot have type 'a -> 'b
fun førsteOrd(s) = let val c = String.sub(s, 0) in if c = #" " then "" else String.str(c) ^ førsteOrd(substring.string(string.substring(s,1,String.size(s) - 1))
fun replace _ _ "" = "" | replace x y s = let val head = førsteOrd(s) val tail = Substring.string(String.substring (s, String.size(førsteOrd(s), String.size(s) - 1)) in if head = x then y ^ " " ^ replace(x,y,tail) else head ^ " " ^ replace(x,y,tail); end;
Altså det bedste ville være hvis vi kunne få en liste med ord adskilt af #" ". Men jeg kan ikke huske hvordan det gøres. Jeg mener det er noget med map eller noget.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.