Avatar billede axkris Nybegynder
29. april 2004 - 21:06 Der er 14 kommentarer og
1 løsning

Slette dobbelt mellemrum i streng

Hej

Jeg har følgende script, som skal slette et dobbelt mellemrum i en streng: strQFSHPage = Replace(strQFSHPage, "  ", " ")

Men den sletter ikke alle dobbelte mellemrum. Er det fordi der findes andre mellemrums-tegn?
Avatar billede fbisen Nybegynder
29. april 2004 - 21:10 #1
Kan det ikke være fordi, at når der er mere end et mellemrum. fx "    " (fire mellemrum) så for hver 2, sletter den 1. Så er der stadig 2 mellemrum tilbage, når den er færdig...
Avatar billede axkris Nybegynder
29. april 2004 - 21:12 #2
Nej, det er kun 2 mellemrum som erstattes af et mellemrum.
Avatar billede fbisen Nybegynder
29. april 2004 - 21:14 #3
Ja men. Hvis du laver et script, som fjerner 2 mellemrum, og sætter et ind. Vil den så er fire mellemrum efter hinanden, så kører den først de 2 første mellemrum igennem, og replacer den med 1, så kører den de sidste 2 mellerum igennem, og replacer med et. Også er der stadig 2 mellemrum tilbage....
Jeg tror ikke du forstod hvad jeg skrev før, eller forstår jeg ikke hvad du skrev

Sker det også, hvis der kun er to mellemrum efter hinanden?
Avatar billede nmh Nybegynder
29. april 2004 - 21:22 #4
Gør sådan:
s="din  tekst    streng  qqq    www"
while Instr(s,"  ")>0
  s=replace(s,"  "," ")
wend

Nu er der ikke flere dobbelte mellemrum.
Avatar billede axkris Nybegynder
29. april 2004 - 21:28 #5
Skriver jeg f.eks.:

str = "Ole  gik      en tur        - den var    go."
response.write Replace(str, "  ", " ")

Så virker der fint - man behøver ikke en while-løkke, men scriptet æder stadig ikke alle mellemrum i mine strenge. Derfor spørger jeg, findes der andre mellemrum tegn?
Avatar billede fbisen Nybegynder
29. april 2004 - 21:30 #6
Jeg har aldrig været ude for, at der skulle være andre mellemrumstegn...
Slet ikke når det er den samme tast man trykker på (det er det vel?)
Avatar billede axkris Nybegynder
29. april 2004 - 21:32 #7
Skulle det være et tab-tegn, som driller... og hvad er asp-koden for det?
Avatar billede gil-galad Nybegynder
29. april 2004 - 21:33 #8
hvad så føns?

(intern)
Avatar billede fbisen Nybegynder
29. april 2004 - 21:36 #9
Jooo, skal jo lige have gang i lidt point....

(intern)
Avatar billede nmh Nybegynder
29. april 2004 - 21:37 #10
Når du skriver ud til en hjemmeside vil dobbelte mellemrum ikke blive vist.
med
str = "Ole  gik      en tur        - den var    go."
vil
str=replace(str,"  "," ") stadig indeholde dobbelte mellemrum.
(i position 8)
Di kan prøve at få udskrevet Instr(str,"  ")
Du er nødt til at have whileløkken.
Avatar billede nmh Nybegynder
29. april 2004 - 21:43 #11
I øvrigt er det en god ide at teste sådan noget ved at lave en tekst fil med efternavnet vbs.
Så har du et VBscript, som du kan afvikle på din maskine ved blot at klikke på ikonen.
Prøv med

str = "Ole  gik      en tur        - den var    go."
str=replace(str,"  "," ")
msgbox Instr(str,"  ")


hvis du gemmer disse 3 linier i en fil, du kalder test.vbs og klikker på den vil du se en lille boks med tallet 8.
Det betyder at der er et dobblt mellemrum i position 8.
Avatar billede axkris Nybegynder
29. april 2004 - 21:47 #12
Du har ret i det med while-sætningen... har testet det nu på anden måde. Men jeg har i mellemtiden fundet ud af, at det er et tab, som jeg forveksler med et mellemrum. Nu skal jeg bare have tab-koden, så er jeg videre :-D
Avatar billede nmh Nybegynder
29. april 2004 - 21:57 #13
Så vidt jeg husker er tabulator-tegnet tegn nr. 9
Avatar billede axkris Nybegynder
29. april 2004 - 21:59 #14
Har også lige fundet det: VbTab

Tak for hjælpen :D
Avatar billede nmh Nybegynder
29. april 2004 - 22:02 #15
Selv tak, det var så lidt. :o)
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