Avatar billede biohazard_666 Nybegynder
24. oktober 2004 - 19:10 Der er 11 kommentarer og
2 løsninger

Fjern del af tekst

Hejsa

Jeg har brug for koden til at fjerne en del af en tekst..
fx:
teksten = 203-Hejsa! 203 Dav! 203_Hey!

Så skal jeg fjerne alle 203'erne OG tegnet som kommer efter, fx -, ' ' (mellemrum) eller _
Så der kun står:
Hejsa! Dav! Hey! når teksten er gået igennem...

/Bio
Avatar billede vigilante Nybegynder
24. oktober 2004 - 19:15 #1
teksten=replace(replace(teksten,"203",""), "-", " ")
Avatar billede biohazard_666 Nybegynder
24. oktober 2004 - 19:32 #2
tjaa... det virker jo ok... Men kigger lige om der kommer bedre løsninger
Avatar billede vigilante Nybegynder
24. oktober 2004 - 19:35 #3
hvad mangler du da i løsningen?
Avatar billede vigilante Nybegynder
24. oktober 2004 - 20:00 #4
nå men her er der da et svar hvis du syntes jeg skal have lidt point, eller må du jo skrive hvad der mangler så skal jeg foreslå noget andet =)
Avatar billede thesurfer Nybegynder
24. oktober 2004 - 20:23 #5
Man kunne også bruge array (split funktionen) og derfter mid-funktionen..

Array: http://html.dk/tutorials/asp/lektion8.asp
Split: http://www.html.dk/dokumentation/vbscript/HTML/vsfctSplit.htm
Mid: http://www.w3schools.com/vbscript/func_mid.asp

Mht array'en, så er det "203" der er delimiteren (det man splitter op efter)..
Avatar billede biohazard_666 Nybegynder
24. oktober 2004 - 22:02 #6
vigilante:
Hvis der fx står:
strData = "203 Hej med dig"
Så skal den fjerne 203 OG det første mellemrum...

theSurfer:
Kan ikk rigtig få det til at virke :(
Avatar billede thesurfer Nybegynder
24. oktober 2004 - 22:16 #7
Et par eksempel med strData = "203 Hej med dig":

1)
strData = replace(strData, "203", "")
strData = mid(strData, 2)

2)
strData = mid(strData, InStr(strData, "203") + 1)


Forklaringer:
1)
"203" erstattes med ingenting (""). strData indeholder nu " Hej med dig" (dvs mellemrum/tegn først).
Med Mid-funktionen, henter vi den del af strengen, der starter på plads nummer 2, og stil slutning af strengen.. dvs "Hej med dig".

2)
Via en kombination af Mid og InStr, henter vi den del af strengen, der starter ved placeringen af "203", og lægger 1 til. Dvs, hvis "203" er på plads 23, lægges der 1 til, så vores startposition er 24 (eksempel).
strData = mid(strData, InStr(strData, "203") + 1)
Avatar billede thesurfer Nybegynder
24. oktober 2004 - 22:20 #8
rettelse til #2:

strData = mid(strData, InStr(strData, "203") + 3 + 1)

eller

strData = mid(strData, InStr(strData, "203") + len("203") + 1)

Forklaring:
Den skal starte ved startpositionen af "203", og flyt sig til slutningen af "203", hvilket jo er længden af "203" (som er 3 tegn)
Avatar billede thesurfer Nybegynder
24. oktober 2004 - 22:22 #9
Mht InStr: http://www.w3schools.com/vbscript/func_instr.asp

Der er nogle forklaringer til en masse funktioner her: http://www.w3schools.com/vbscript/vbscript_ref_functions.asp

"document.write" skal der naturligvis ikke stå :-)
Avatar billede thesurfer Nybegynder
24. oktober 2004 - 22:27 #10
Eksempel på teksten = "203-Hejsa! 203 Dav! 203_Hey!":

dim t, teksten, nytekst
teksten = "203-Hejsa! 203 Dav! 203_Hey!"

t = split(teksten, "203") ' her splittes "teksten" ved forkomsterne "203"
for i = lbound(t) to ubound(t) ' start en loop, fra 0 til antallet af forkomster (ubound)

' nytekst skal være sig selv, plus noget nyt
' det nye er fra position 2 (efter " ", "-", osv..) og resten af strengen:
  nytekst = nytekst & mid(t(i), 2)
next

msgbox "*" & nytekst & "*"
Avatar billede biohazard_666 Nybegynder
25. oktober 2004 - 15:01 #11
thesurfer:
dit sidste eksembel er det eneste jeg har prøvet, og det virker perfekt.. Smider du ikk lige et svar? Så kan i begge få point :)
Avatar billede thesurfer Nybegynder
26. oktober 2004 - 22:53 #12
OK, det gør jeg så :-)
Avatar billede thesurfer Nybegynder
26. oktober 2004 - 22:54 #13
doh! :-)
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