27. april 2005 - 19:37
Der er
19 kommentarer og 2 løsninger
Splitte en tekst
Hej Et simpelt spørgsmål, hvordan splitter jeg et ord som består af følgende udtræk rs("bruger") rs("bruger") = 2morten Det skal jeg gerne vil have ud af udtrækket er: morten Men man kunne også godt forestille sig der kunne have stået: 12morten. Så det er ikke altid tast nummer to. Hvordan går jeg det?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
27. april 2005 - 19:39
#1
Hvis du ikke ved om der står "1morten" eller "12morten" eller for den sags skyld "123morten" . Hvordan skal programmet så kunne skældne? Den eneste løsning jeg ser er hvis det konsekvent er de første tal du vil have væk. Og det altid er tal? Så kan du bruge regulære udtryk
27. april 2005 - 19:53
#2
Set RegularExpressionObject = New RegExp With RegularExpressionObject .Pattern = "\d*" End With Rs("bruger") = RegularExpressionObject.Replace(rs("bruger"), "") Set RegularExpressionObject = nothing Prøv med det der :)
27. april 2005 - 19:53
#3
Det er ALTID tal. Men som sagt om der står 1morten 100203morten vides ikke. Så vil du simpelthen lave en regexp på det?
27. april 2005 - 19:55
#4
den skulle gerne fjerne alle tal (1 gang) ... Hvis brugeren hedder "morten47" og strengen derfor hedder: 10234morten47 vil den fjerne 47. (tror jeg)
27. april 2005 - 20:00
#5
Kan ikke få det til at virke... Koden ser således ud: Set rs_bruger = my_conn.Execute("SELECT * FROM budbruger WHERE id = " & Request.QueryString("id")) Set RegularExpressionObject = New RegExp With RegularExpressionObject .Pattern = "\d*" End With Rs_ret("bruger") = RegularExpressionObject.Replace(rs_bruger("brugernavn"), "") Set RegularExpressionObject = nothing Response.Write "<form method='post' action='indstillinger.asp?action=rediger&id=" & Request.QueryString("id") & "&aendre=1'><table width='200' border='1' cellspacing='1'>" Response.Write "<tr>" Response.Write "<td>Fornavn:</td>" Response.Write "<td><input name='fornavn' type='text' value='" & Rs_ret("bruger") & "'></td>"
27. april 2005 - 20:01
#6
Nu kan jeg godt nok ikke RegExp, så her er noget almindeligt kode: navn = "123morten47" ' test streng for i = 1 to len(navn) if IsNumeric(mid(navn, i, 1)) = false then navn = mid(navn, i) exit for end if next response.write navn ' udskriver: morten47
27. april 2005 - 20:01
#7
Tallene skal ikke fjernes når man indsætter det i databasen, men kun når den bliver trukket ud.
27. april 2005 - 20:03
#8
Prøv det her: dim navn navn = RegularExpressionObject.Replace(rs_bruger("brugernavn"), "") ... Response.Write "<td><input name='fornavn' type='text' value='" & navn & "'></td>"
27. april 2005 - 20:03
#9
Jamen thesurfer det virker jo... Men er det mindre "usikkert" ikke at bruge regexp til dette?
27. april 2005 - 20:05
#10
Nu virker metoden også med regexp... Hvis i begge ligger et svar, så får i begge point. Men regner med jeg bruger regexp, da jeg egentlig skal bruge en del regexp på sitet.
27. april 2005 - 20:05
#11
Nej, det er ikke "mindre" usikkert.. begge metoder virker.. Du kan også tilføje dette, efter "next": if IsNumeric(navn) = true then ' navnet består KUN af tal.. ' dvs, test strengen kunne have været: "12345" ' så vil navnet være "12345".. end if En slags sikring mod "nullængde"..
27. april 2005 - 20:08
#12
Det var min tanke, det samme: Har du defineret det array Rs_ret ? Og bruger du det som array. Ellers: Rs_ret = RegularExpressionObject.Replace(rs_bruger("brugernavn"), "") ... Response.Write("<td><input name=""fornavn"" type=""text"" value=""" & Rs_ret & """></td>")
27. april 2005 - 20:08
#13
hmm.. "Men er det mindre "usikkert" ikke at bruge regexp til dette?".. Dvs: Er det mere sikkert at bruge regexp? Resultet vil være det samme, når man har rettet det med "tal-bogstaver-tal" kombination/koden i regexp. Koden fra 27/04-2005 20:01:15 accepterer f.eks. "morten47". Som legende.dk skriver i 27/04-2005 19:53:32, tror jeg at RegExp vil fjerne "47" i "morten47"..
27. april 2005 - 20:10
#14
Jeg tror at "Rs_ret" er recordset'et, til den SQL der retter koden..
27. april 2005 - 20:10
#15
gør den det ? fjerner den 47 fra morten47 ?
27. april 2005 - 20:13
#16
legende.dk> Jeg har lige lavet en test.. den fjerner ikke 47 fra morten47.
27. april 2005 - 20:14
#17
så er den jo smuk ?
27. april 2005 - 20:33
#18
Det gør det nemlig ik nej... Så det er bare perfekt! Tak for hjælpen.
27. april 2005 - 20:37
#19
Du skal lige markere navn i boksen til venstre, inden du klikker på Accepter-knappen..
27. april 2005 - 21:18
#20
Ja det ved jeg, men du har jo ikke lagt et svar endnu
27. april 2005 - 21:23
#21
Så lægger jeg da bare et svar :-)
Kurser inden for grundlæggende programmering