Avatar billede coder Nybegynder
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
Avatar billede nlunn Nybegynder
03. juli 1999 - 23:38 #1
Jeg ved ikke om det virker, da det er Jscript og ikke JavaScript.

stringObj.match(rgExp, replaceText)

ellers kan du læse mere om det på:

http://www.activeserverpages.dk/iishelp/jscript/htm/js827.htm

Avatar billede coder Nybegynder
03. juli 1999 - 23:50 #2
Det virker desværre ikke :-(

Er der virkelig ikke nogen der kan hjælpe ?
Avatar billede justincase Nybegynder
04. juli 1999 - 00:12 #3
Det er der da

var nyt_ord = gammelt_ord.replace('ø','o');

:)

JustinCase

Avatar billede coder Nybegynder
04. juli 1999 - 00:15 #4
Jamen, jamen - jeg tester det lige ... det lyder rigtigt ;-)
Avatar billede coder Nybegynder
04. juli 1999 - 00:17 #5
Uha, uha!!

Det var da utroligt - LIGE hvad jeg manglede !!!

Mange mange tak!!!!
Avatar billede coder Nybegynder
04. juli 1999 - 00:35 #6
Ø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
Avatar billede justincase Nybegynder
04. juli 1999 - 14:31 #7
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
Avatar billede coder Nybegynder
04. juli 1999 - 14:46 #8
Takker - du får resten af mine point, hvis du finder frem til et svar :)

[ Anders ]
Avatar billede justincase Nybegynder
04. juli 1999 - 14:49 #9
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
Avatar billede coder Nybegynder
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
Avatar billede justincase Nybegynder
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
Avatar billede coder Nybegynder
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?
Avatar billede justincase Nybegynder
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);

:)
Avatar billede coder Nybegynder
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
Avatar billede coder Nybegynder
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?
Avatar billede justincase Nybegynder
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
Avatar billede cyberesben Nybegynder
06. juli 1999 - 03:56 #17
justin>> det der replace plejer kun at erstatte de første tegn der forekommer
Avatar billede justincase Nybegynder
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.
Avatar billede coder Nybegynder
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!
Avatar billede stringbuffer Nybegynder
07. maj 2002 - 21:46 #20
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.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester