Avatar billede Slettet bruger
28. juli 2002 - 14:04 Der er 26 kommentarer og
1 løsning

Trække ud og vise en del af teksten

Hej - jeg skal trække en tekst ud af databasen - denne besked indeholder et id-nr som jeg ikke ønsker vist - hvordan kan jeg vise beskeden men undlade netop det lille stykke hvor id-nummeret står:
Avatar billede eagleeye Praktikant
28. juli 2002 - 14:06 #1
Er der noget man kan søge på for at finde id nummeret??

Eksvisvis her kan man søge på ID-nr::

"En lang tekst fra dabasen dette ID-nr:23233 skal ikke vises"
Avatar billede Slettet bruger
28. juli 2002 - 14:08 #2
Ja, det kan man godt (id nummeret kan dog variere i længde - altså cifre), og kan stå flere steder. Teksten kunne se ud som flg.:

"Her står en lille tekst #id12 noget mere"

eller

"#id12 her står en lille tekst"
Avatar billede Slettet bruger
28. juli 2002 - 14:09 #3
Altså skal det mellem #id og det næste mellemrum fjernes fra teksten når den vises - dvs. #id(nummer)
Avatar billede eagleeye Praktikant
28. juli 2002 - 14:10 #4
Så man kan altså søge og finde #id, vil id kun være et tal?
Avatar billede eagleeye Praktikant
28. juli 2002 - 14:11 #5
Vil der altid være mellemrum efte det kan ikke være . eller ,
Avatar billede Slettet bruger
28. juli 2002 - 14:13 #6
Hmm... good point - der KAN vel faktisk godt risikere at være et , eller .

Kan man evt. så tage fra "#id" til "slut på efterfølgende cifre" ?
Avatar billede eagleeye Praktikant
28. juli 2002 - 14:23 #7
Det kunne laves sådan her hvis du ikke skal gemme ID'et:


str = "En tekst #id123456 igen nummer tak #id123456."

index = inStr(1,str,"#id")
do while index > 0
  tempChar = mid(str,index+3,1)
  counter = 1
  'forsæt indtil næste karakter ikke er et tal
  do while isNumeric(tempChar)
    tempChar = mid(str,index+3+counter,1)
    counter = counter + 1
  loop
  'Så kan slut på tallet findes
  indexSlut = index+3+counter-1
  'Udskrivt tallet med (nummer)
  str = left(str,index+2) & "(nummer)" & mid(str,indexSlut)
  'Find næste #id
  index = inStr(indexSlut,str,"#id")
loop

Response.Write str
Avatar billede Slettet bruger
28. juli 2002 - 14:30 #8
Jeg synes ikke at se nogen forskel - den skriver hele teksten - id-nummeret er der stadig - eks. #id24
Avatar billede eagleeye Praktikant
28. juli 2002 - 14:53 #9
står det #idxx eller idxxx ?
Avatar billede Slettet bruger
28. juli 2002 - 14:56 #10
Skriver fint beskeden - men id-nummeret står der stadig. f.eks. "#id24"
Avatar billede eagleeye Praktikant
28. juli 2002 - 14:58 #11
du skal ændre denne linie:

str = "En tekst #id123456 igen nummer tak #id123456."

Til at sætte str = kolonnen fra dtabasen:
str = rs("kolonnenavn")
Avatar billede Slettet bruger
28. juli 2002 - 15:02 #12
Tror jeg har gjort det:
Feltet hedder besked

index = inStr(1,besked,"#id")
Avatar billede Slettet bruger
28. juli 2002 - 15:03 #13
og rettet det de andre steder også selvfølgelig
Avatar billede eagleeye Praktikant
28. juli 2002 - 15:04 #14
kan du ikke vise hele koden så?
Avatar billede eagleeye Praktikant
28. juli 2002 - 15:04 #15
altså bare dette vi snakker om :)
Avatar billede Slettet bruger
28. juli 2002 - 15:11 #16
besked=RS("besked")

...

index = inStr(1,besked,"#id")
do while index > 0
  tempChar = mid(besked,index+3,1)
  counter = 1
  'forsæt indtil næste karakter ikke er et tal
  do while isNumeric(tempChar)
    tempChar = mid(besked,index+3+counter,1)
    counter = counter + 1
  loop
  'Så kan slut på tallet findes
  indexSlut = index+3+counter-1
  'Udskrivt tallet med (nummer)
  str = left(besked,index+2) & "(nummer)" & mid(besked,indexSlut)
  'Find næste #id
  index = inStr(indexSlut,besked,"#id")
loop

Response.Write besked
Avatar billede eagleeye Praktikant
28. juli 2002 - 15:12 #17
der manger lige et sted:

  'Udskrivt tallet med (nummer)
  str = left(besked,index+2) & "(nummer)" & mid(besked,indexSlut)

Rettes til:
  'Udskrivt tallet med (nummer)
  besked = left(besked,index+2) & "(nummer)" & mid(besked,indexSlut)
Avatar billede Slettet bruger
28. juli 2002 - 15:21 #18
Ah ok - my bad. Men Nu fjerner den tallet - men lader stadig "#id" stå tilbage?! Det er måske mig der ikke fik forklaret godt nok - men altså #id skal også væk...
Avatar billede eagleeye Praktikant
28. juli 2002 - 15:23 #19
ok.. jeg forstod det som om det skulle blive men det er let at rette. Du ændre bare denne linie:
besked = left(besked,index+2) & "(nummer)" & mid(besked,indexSlut)

Til:
besked = left(besked,index-1) & "(nummer)" & mid(besked,indexSlut)
Avatar billede Slettet bruger
28. juli 2002 - 15:27 #20
Fino - nu skriver den bare "nummer" - hvis jeg helt vil undlade at skrive noget så er det vel:

  besked = left(besked,index-1) & " " & mid(besked,indexSlut)

i stedet...
Avatar billede eagleeye Praktikant
28. juli 2002 - 15:30 #21
Ja det er rigtigt, men du behøver ikke nødvendigvis & " " det er nok bare med:

  besked = left(besked,index-1) & mid(besked,indexSlut)
Avatar billede Slettet bruger
28. juli 2002 - 15:35 #22
Mange tak for hjælpen - "dobler" lige pointene...
Avatar billede Slettet bruger
28. juli 2002 - 15:44 #23
Hovsa - lige et tillægsspørgsmål - hvis man nu ville vende den om - og det netop VAR tallet - altså f.eks. 24 i "#id24" man ville gemme - hvordan ville du så vende koden?
Avatar billede eagleeye Praktikant
28. juli 2002 - 15:52 #24
hvis du vil havde talle + #id så sådan her:

nummer = mid(besked,index-1,counter+3)

og det skal stå på linie før:
besked = left(besked,index+2) & "(nummer)" & mid(besked,indexSlut)
Avatar billede Slettet bruger
28. juli 2002 - 16:00 #25
Ok - og hvis det KUN er selv tallet (cifrene)?
Avatar billede eagleeye Praktikant
28. juli 2002 - 16:08 #26
Hvis det kun er tallet så sådan her:

nummer = mid(str,index+3,counter-1)
Avatar billede Slettet bruger
28. juli 2002 - 16:17 #27
aha - endnu en gang mange tak for hjælpen!
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