03. juli 1999 - 23:27
Der er
19 kommentarer og 1 løsning
En "replace" - funktion? Det må være nemt !
Nogen her der ved hvordan man kan erstatte et bestemt bogstav med et andet. Altså hvis vi nu siger at: Gammelt_ord = "Prøve" - så skal Nyt_ord = "Prove" ... altså ø''et bliver erstattet med et o. På forhånd tak for hjælpen :-) Mvh Anders
Annonceindlæg fra Computerworld
Det virker desværre ikke :-( Er der virkelig ikke nogen der kan hjælpe ?
Det er der da var nyt_ord = gammelt_ord.replace('ø','o'); :) JustinCase
Jamen, jamen - jeg tester det lige ... det lyder rigtigt ;-)
Uha, uha!! Det var da utroligt - LIGE hvad jeg manglede !!! Mange mange tak!!!!
Øvzer - scriptet kan kun replace et bogstav ... Kan man ikke få det til at erstatte alle ø'er - altså "replace.all"? Og kan man ik' også erstatte flere bogstaver på én gang? - Anders
Det overrasker mig lidt, at replace kun udskifter det første bogstav den støder på, og at den ikke kan håndtere mere end et bogstav. Jeg prøver at kigge lidt på det. I sidste ende kan man altid lave en funktion, der gør det, selv JustinCase
Takker - du får resten af mine point, hvis du finder frem til et svar :) [ Anders ]
du behøver ikke give mig flere point for det her. Men, svaret er at man kan bruge lidt tilnærmet perl syntax : var nyt_ord= gammelt_ord.replace(/prøve/g, "prove"); Jeg ved ikke om det kan bruges i ikke 4+ browsere, men hvis det ikke kan og du har brug for en funktion der kan, så bare skriv. :) JustinCase
04. juli 1999 - 14:57
#10
Hej igen ... Jeg sidder lige og tester det i en IE3-browser, men det fungerer ik'... Heller ik' den første replace-funktion virker (...ace("ø","o") - mystisk ... - Anders
04. juli 1999 - 15:44
#11
OK Du kan bruge denneher funktion : // udskift newst med subst i rplString function replace(newst, subst, rplString) { var temp = ""; var scope = subst.length; var pos = 0; while (rplString.indexOf(subst, rplString) > -1) { pos = rplString.indexOf(subst,rplString); temp += rplString.substring(0,pos)+newst; rplString = rplString.substring(pos+scope,rplString.length); } temp += rplString.substring(0,rplString.length); return temp; } Den kaldes så med var nyt_ord = replace('o','ø',gammel_ord); Den kan udskifte både enkelte bogstaver og ord. :) JustinCase
04. juli 1999 - 15:52
#12
Takker - det virker bare perfekt! Men - hvordan udskifter man så to tegn? Altså jeg vil have "ø" til at blive "o", men også "å" til at blive "a" ...? How?
04. juli 1999 - 15:57
#13
Kør den to gange !!! var nyt_ord = replace('o','ø',gammel_ord); var nyt_ord = replace('a','å',nyt_ord); :)
04. juli 1999 - 16:02
#14
Okey ... den sq man måske selv q ha' gættet sig til :-)) Men du skal ha' mange tak for hjælpen !! Vh Anders
04. juli 1999 - 16:04
#15
Der er bare én ting jeg ikke fatter - hvorfor skal der stå "var" - det er jo underordnet, er det ik?
04. juli 1999 - 16:09
#16
Ikke i nogen af de ældre browser. De laver fejl (og de værste kan crashe) hvis variablen ikke er erklæret som var :) JustinCase
06. juli 1999 - 03:56
#17
justin>> det der replace plejer kun at erstatte de første tegn der forekommer
06. juli 1999 - 09:38
#18
cyberespen>> Hvad tænker du på ? Den indbyggede replace funktion, eller hvad. Min funktion bør udskifte alle bogstaver eller ord man vil udskifte.
06. juli 1999 - 12:21
#19
justincase har helt ret - han specificerede jo sin egen funktion, så den arbejder ikke som den normale REPLACE-funktion!
var nyt_ord = replace('o','ø',gammel_ord); var nyt_ord = replace('a','å',nyt_ord); det er forkert, og burde give en JavaScript fejl, eller uforudsigelige resultater. Du har jo erklæret variablen en gang, så når du erklærer den igen er det ikke godt at vide hvad der kommer ud af det. Måske virker det i nogle situationer og slet ikke i andre.
Vi tilbyder markedets bedste kurser inden for webudvikling