Avatar billede zeusdk Nybegynder
12. december 2002 - 21:05 Der er 11 kommentarer og
1 løsning

Slet overflødige mellemrum

Hej

Hvordan får jeg lavet følgende til RE således at hver gang der er mere end et mellemrum i et tekstarea så slettes det/de overflødige mellemrum.

document.OpretArtikel.beskrivelse.value = document.OpretArtikel.beskrivelse.value.replace("  ", " ");
Avatar billede zeusdk Nybegynder
12. december 2002 - 21:07 #1
Jeg glemte helt at sige, at det skal kodes i javascript (asp).
Avatar billede jespernaur Nybegynder
12. december 2002 - 21:33 #2
Prøv følgende:

document.OpretArtikel.beskrivelse.value = document.OpretArtikel.beskrivelse.value.replace(/ +/g, ' ');

Mvh
Jesper Naur
Avatar billede kennie_nm Nybegynder
12. december 2002 - 21:42 #3
var reg_exp = s/\s{2,}/\s/;
Avatar billede zeusdk Nybegynder
12. december 2002 - 21:42 #4
Det virker - selvom jeg ikke fatter hvad "(/ +/g, ' ')" gør. :-)
Avatar billede zeusdk Nybegynder
12. december 2002 - 21:45 #5
>>kennie_nm

Ups

Det var ikke meningen, at du skulle afvises, jeg vidste ikke at du havde svaret.

>>jespernaur
Du kunne vel ikke dele kagen med kennie_nm?
Avatar billede zeusdk Nybegynder
12. december 2002 - 21:48 #6
>>kennie_nm
Hvordan får jeg afprøvet "var reg_exp = s/\s{2,}/\s/;" sammen med mig kode - hvad skal jeg skrive?
Avatar billede zeusdk Nybegynder
12. december 2002 - 21:48 #7
mig = min
Avatar billede jespernaur Nybegynder
12. december 2002 - 21:58 #8
Jeg kan ikke dele nogen kage - du er den eneste der kan beslutte point-fordeling, og hvis du trykker forkert, kan jeg ikke reparere på det. Men - jeg kan forklare hvad der foregår:


replace( / +/g, ' ' )

erstatter et positivt antal blanktegn (mellemrummet efterfulgt af +) med et enkelt blanktegn. 'g' efter det regulære udtryk betyder at erstatningen skal udføres 'g'lobalt i hele strengen, så det er samtlige forekomster af flere blanktegn, der hver især erstattes med eet blanktegn.

Mvh
Jesper Naur
Avatar billede kennie_nm Nybegynder
12. december 2002 - 22:01 #9
det aner jeg ikke, jeg kender ikke javascript. Jeg slog bare syntaksen op her:
http://www.webreference.com/js/column5/

lad mig forklare udtrykket:
det første s står for substitute
\s betyder whitespace
\s{2,} matcher 2 eller flere whitespaces

hele udtrykket udskifter altså 2 eller flere whitespaces med 1 whitespace
Avatar billede zeusdk Nybegynder
16. december 2002 - 17:08 #10
Hej jespernaur

Jeg ved godt, at jeg har trykket accept, men kunne du ikke lige fortælle mig, hvorfor jeg ikke bare kan overføre princippet således, at jeg også har et script, som også sletter alle punktummer.

Gammel kode:
form.titel.value = form.titel.value.replace(".", "");

Ny kode:
form.titel.value = form.titel.value.replace(/./g, "");

Den ny kode sletter simpelthen bare hele teksten, why?
Avatar billede jespernaur Nybegynder
16. december 2002 - 18:19 #11
Det er fordi et alene-stående punktum har speciel betydning i regulære udtryk: Betyder 'hvadsomhelst', den fjerner altså samtlige forekomster af 'hvadsomhelst', altså det hele! Du skal 'escape' punktummet med backslash, altså

form.titel.value = form.titel.value.replace(/\./g, "");
Avatar billede zeusdk Nybegynder
16. december 2002 - 19:26 #12
Mange tak for hjælpen :-)
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
Kurser inden for grundlæggende programmering

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