Avatar billede ch007 Nybegynder
15. februar 2005 - 09:46 Der er 12 kommentarer og
1 løsning

Erstat noget ved udtræk - ASP/MySQL

Tekst = (Replace(Tekst,vbCrLf,"<br>"))

Denne har jeg før brugt til at lave linieskift med efter udtræk fra DB.

Nu står der fx i mit udtræk:

Hej Mogens!
Det er &Navn=Peter&, hvordan går det?

Hvordan kan jeg udtrække kun "Peter"?

Det må være noget med at erstatte: &Navn=???& med kun det som er ubekendt, altså ???.
Avatar billede ch007 Nybegynder
15. februar 2005 - 09:47 #1
??? kan godt være en fast størrelse, lad os sige at det altid er tre tegn, dvs han kunne her hedde Per i stedet. Forstår I?
Avatar billede eagleeye Praktikant
15. februar 2005 - 11:29 #2
Umiddelbart er der to metoder regular expression som er rigtig godt når ting har ubekendte længter men følger et mønster. Alternativt er det gang i streng funktioner og søge efter &navn= og så & ud fra de to ting kan man finde længden og så få fjernet det rigtige.

Eksempel på function som bruger Regular Expression:

function replaceNavn(str)
Dim RegEx
Set RegEx = New RegExp
RegEx.Global=true
RegEx.IgnoreCase=true
RegEx.Pattern = "&navn=(.*)&"
replaceNavn = RegEx.Replace(str,"$1")
Set RegEx=Nothing
end function

str = "Hej Mogens! Det er &Navn=Peter&, hvordan går det?"
response.write replaceNavn(str)
Avatar billede ch007 Nybegynder
15. februar 2005 - 12:04 #3
JA TAK!!!
Lige det jeg skulle bruge! MANGE MANGE Tak!
Avatar billede ch007 Nybegynder
15. februar 2005 - 12:04 #4
PERFEKT!
Avatar billede ch007 Nybegynder
15. februar 2005 - 12:11 #5
Lige en ting hvis du stadig er der...

Nu hiver den: "Hej Mogens! Det er Peter, hvordan går det?" ud... Kan jeg få kun "peter" ud?
Avatar billede ch007 Nybegynder
15. februar 2005 - 12:15 #6
Jeg har selv løst det...
Avatar billede eagleeye Praktikant
15. februar 2005 - 12:17 #7
ok :)
Avatar billede ch007 Nybegynder
15. februar 2005 - 13:41 #8
Hey eagleeye - er du her?

Jeg troede jeg havde løst det, men nej - der kommer nu en fejl... Kan du hjælpe?

Hvordan henter jeg Peter ud? Troede det var ("$1") men nej
Avatar billede ch007 Nybegynder
15. februar 2005 - 13:49 #9
Avatar billede eagleeye Praktikant
15. februar 2005 - 14:15 #10
Jeg har lavet den føste så den tager og fjerner $navn= og $ fra stengen.
Men hvis du vil havde navnet ud så prøv sådan her funktion hedder noget andet her:

function findNavn(str)
Dim RegEx
Set RegEx = New RegExp
RegEx.Global=true
RegEx.IgnoreCase=true
RegEx.Pattern = "&navn=(.*)&"
Set liste=RegEx.Execute(str)
for each x in liste
  findNavn = mid(x.value,7,len(x.value)-7)
next
Set RegEx=Nothing
end function
Avatar billede ch007 Nybegynder
16. februar 2005 - 09:54 #11
Sådan, det var det jeg skulle bruge... Du kan smide et svar i:
http://www.eksperten.dk/spm/591160
så får du selvfølgelig point
Avatar billede eagleeye Praktikant
16. februar 2005 - 11:04 #12
nej det er helt fint jeg havde misforstået dit spørgsmåli første omgang :)
Avatar billede ch007 Nybegynder
18. februar 2005 - 22:44 #13
Fair nok...
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