Avatar billede dgivoni Nybegynder
16. januar 2002 - 11:43 Der er 11 kommentarer og
1 løsning

Fjerne kontroltegn i en streng

Jeg har et problem med en streng, som af en eller anden grund indeholder nogle kontroltegn, som gør at den ikke kan vises i browseren.
Hvordan fjerner jeg dem?
Er der evt. en funktion/script som kan fjerne alle kontroltegn på én gang, dvs. alle som forstyrrer visningen.
I praksis indeholder min streng en række 0-værdier. Dvs. 0 når jeg ser på den hexadecimalt. Men jeg har ikke kunnet fange den endnu m. replace.
Avatar billede pierrehusted Nybegynder
16. januar 2002 - 11:46 #1
Prøv en gang med noget i den her stil :

variabel = replace(variabel, chr(0), \"\")
Avatar billede dgivoni Nybegynder
16. januar 2002 - 11:51 #2
det har jeg prøvet, og det fanger dem ikke :(
Avatar billede pierrehusted Nybegynder
16. januar 2002 - 11:55 #3
Hmm, så ved jeg det ikke rigtig....
Avatar billede tmceu Praktikant
16. januar 2002 - 11:58 #4
Hvad med at lave et lille loop, så du kan se hvilke specialtegn der er i stregen, og dermed ved hvilke tegn du skal fjerne.

For i = 1 to Len(strStreng)
strTemp = Mid(i, 1)

If strSpecial = \"\" Then
  strSpecial = Asc(i)
Else
  strSpecial = strSpecial & \", \" & Asc(
End If
i = i + 1
Next

response.write strSpecial

strStreng indeholder din eksisterende streng.
Avatar billede tmceu Praktikant
16. januar 2002 - 11:59 #5
UPS, glem

i = i + 1

:-)
Avatar billede dgivoni Nybegynder
16. januar 2002 - 12:03 #6
:-) og det skal vel også være:
strSpecial = strSpecial & \", \" & Asc(i) ?

Avatar billede dgivoni Nybegynder
16. januar 2002 - 12:06 #7
men hvordan skulle det virke???
i er en tæller, som fortæller positionen i strengen StrStreng.
Men den trækker jo ikke noget ud af strengen, hvis man bruger Asc(i)
Det betyder da bare at v. position 1 i strengen, konverteres 1 til sin ASCII-værdi? Eller tager jeg helt fejl?
Avatar billede tmceu Praktikant
16. januar 2002 - 12:13 #8
Det gik vist for hurtigt. Her er den...

For i = 1 to Len(strStreng)
strTemp = Mid(i, 1)

If strSpecial = \"\" Then
  strSpecial = Asc(i)
Else
  strSpecial = strSpecial & \", \" & Asc(strTemp)
End If
Next

response.write strSpecial
Avatar billede dgivoni Nybegynder
16. januar 2002 - 12:17 #9
ok, men det virker nu ikke.
Og jeg kan stadig ikke forstå hvordan du bruger variablen i.
Det er jo et index, men for at få det som står på indexets plads i strengen, er det jo ikke nok bare at refere til i eller Asc(i)???
Avatar billede tmceu Praktikant
16. januar 2002 - 12:37 #10
Det kan jeg godt forstå, for jeg har siddet med hovedet under armen. Denne virker

strStreng = \"a A\"

For i = 1 to Len(strStreng)
strTemp = Mid(strStreng, i, 1)

If strSpecial = \"\" Then
  strSpecial = Asc(strTemp)
Else
  strSpecial = strSpecial & \", \" & Asc(strTemp)
End If
Next

Response.Write strSpecial

Den vil returnere 97 = a, 32 = space, 65 = A
Avatar billede dgivoni Nybegynder
16. januar 2002 - 12:46 #11
sorry men det har jeg sgu også (siddet med hovedet under armen)
Jeg har lavet en brøler, så nu hvor jeg placerer replacen det rigtige sted (f.eks. efter at strengen rent faktisk er hentet ind fra filen) virker det upåklageligt m. pierrehusteds forslag.
Det kræver vist point til jer begge, så jeg opretter lige en nyt spørgsmål, hvor pierre kan få sine, og du får det hele her tmceu.
Sorry for ulejligheden.
Avatar billede tmceu Praktikant
16. januar 2002 - 12:49 #12
Måske er det bare en af de der dage :-)

Jeg tror det ville have været ok for os begge hvis du bare havde delt, i stedet for at \"betale\" dobbelt. Men jeg takker i alle tilfæde.
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