/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hvordan trimmer jeg felt fra databasen?
Fra : Linda Møller


Dato : 21-01-09 16:07

Jeg har nogle sagsnr i databasen der er bygget op som f.eks.:
1
2
2/a 47
2/ekstra
3
Det jeg har brug for, er at kunne barbere alt efter "/" væk fra
værdien, så jeg får værdierne 1, 2, 2, 2, 3 at arbejde videre
med.
Jeg har forsøgt mig med noget "trim" men det er vist ikke det
rigtige...


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Rune Jensen (21-01-2009)
Kommentar
Fra : Rune Jensen


Dato : 21-01-09 17:16

Linda Møller skrev:
> Jeg har nogle sagsnr i databasen der er bygget op som f.eks.:
> 1
> 2
> 2/a 47
> 2/ekstra
> 3
> Det jeg har brug for, er at kunne barbere alt efter "/" væk fra
> værdien, så jeg får værdierne 1, 2, 2, 2, 3 at arbejde videre
> med.
> Jeg har forsøgt mig med noget "trim" men det er vist ikke det
> rigtige...

Trim tager default kun white-spaces. Du skal nok have gang i noget a la
(hvor forudsættes, den steng som skal trimmes hedder Text):

trimmedText = Left( Text, inStr( Text, "/"))

Alternativt

trimmedText = Split( Text, "/")(0)

Begge går ud fra pr. default, der altid er minimum én /
Så du skal måske i stedet lave en generel function, hvor der kun
trimmes, hvis der er en / for at være sikker:

Function trimSlash( Txt)
   Dim FS
   FS = inStr( Txt, "/")
   if FS then Txt = Left( Txt, FS)
   trimSlash = Txt
end Function

....en function fordi, så har man styr på det (bl.a. er det lokale
variable, så man ikke behøver tænke på om de kolliderer), og hvis den
bruges mere end én gang i scriptet, sparer man plads.

Den bruges så som:

trimmedText = trimSlash( Text)


MVH
Rune Jensen

Birger Sørensen (21-01-2009)
Kommentar
Fra : Birger Sørensen


Dato : 21-01-09 17:25

Rune Jensen tastede følgende:
> Linda Møller skrev:
>> Jeg har nogle sagsnr i databasen der er bygget op som f.eks.:
>> 1
>> 2
>> 2/a 47
>> 2/ekstra
>> 3
>> Det jeg har brug for, er at kunne barbere alt efter "/" væk fra
>> værdien, så jeg får værdierne 1, 2, 2, 2, 3 at arbejde videre
>> med.
>> Jeg har forsøgt mig med noget "trim" men det er vist ikke det
>> rigtige...
>
> Trim tager default kun white-spaces. Du skal nok have gang i noget a la (hvor
> forudsættes, den steng som skal trimmes hedder Text):
>
> trimmedText = Left( Text, inStr( Text, "/"))
>
> Alternativt
>
> trimmedText = Split( Text, "/")(0)
>
> Begge går ud fra pr. default, der altid er minimum én /
> Så du skal måske i stedet lave en generel function, hvor der kun trimmes,
> hvis der er en / for at være sikker:
>
> Function trimSlash( Txt)
>    Dim FS
>    FS = inStr( Txt, "/")
>    if FS then Txt = Left( Txt, FS)
>    trimSlash = Txt
> end Function
>
> ...en function fordi, så har man styr på det (bl.a. er det lokale variable,
> så man ikke behøver tænke på om de kolliderer), og hvis den bruges mere end
> én gang i scriptet, sparer man plads.
>
> Den bruges så som:
>
> trimmedText = trimSlash( Text)
>
>
> MVH
> Rune Jensen

list ( $en, $to) = explode( '/', $text);

$en indeholder det du vil bruge, $to resten...
split bruger regexp - næppe nødvendigt her - og Rune har byttet om på
argumenterne... men ellers kan split også bruges

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Rune Jensen (21-01-2009)
Kommentar
Fra : Rune Jensen


Dato : 21-01-09 17:47

Birger Sørensen skrev:

> list ( $en, $to) = explode( '/', $text);
>
> $en indeholder det du vil bruge, $to resten...

Jamen du har ret. Og det kan man så også i ASP/vbScript:

trimmedText = Split( Text, "/", 1)

....hvor 1-tallet angiver der kun skal returneres -en (første) substreng.
Bør vel gøre det hurtigere.

http://www.w3schools.com/VBscript/func_split.asp

....hvad sker så, hvis der ikke er en / i strengen, som skal splittes?

> split bruger regexp - næppe nødvendigt her -

Jeg vidste ikke, der bruges regExp, men SVJH er det en lidt langsommelig
affære. Næppe mærkbart i mindre scripts, men hellere bruge den hurtigste
metode.

> og Rune har byttet om på
> argumenterne...

Jeg har ikke afprøvet koden, kan være du har ret, så det vil jeg lige
gøre ...men VBscript har ikke altid samme syntaks som PHP;)

> men ellers kan split også bruges

Jah... som sagt, vi er nok enige, hvis den skal igennem en regExp,
foretrækker jeg en inStr i stedet (som så _bør_ i en if-then for at
tjekke for 0-forekomster). Er inStr så hurtigere end Split?


MVH
Rune Jensen

Birger Sørensen (21-01-2009)
Kommentar
Fra : Birger Sørensen


Dato : 21-01-09 20:26

Følgende er skrevet af Rune Jensen:
> Birger Sørensen skrev:
>
>> list ( $en, $to) = explode( '/', $text);
>>
>> $en indeholder det du vil bruge, $to resten...
>
> Jamen du har ret. Og det kan man så også i ASP/vbScript:
>
> trimmedText = Split( Text, "/", 1)
>
> ...hvor 1-tallet angiver der kun skal returneres -en (første) substreng. Bør
> vel gøre det hurtigere.
>
> http://www.w3schools.com/VBscript/func_split.asp
>
> ...hvad sker så, hvis der ikke er en / i strengen, som skal splittes?
>
>> split bruger regexp - næppe nødvendigt her -
>
> Jeg vidste ikke, der bruges regExp, men SVJH er det en lidt langsommelig
> affære. Næppe mærkbart i mindre scripts, men hellere bruge den hurtigste
> metode.
>
> > og Rune har byttet om på
>> argumenterne...
>
> Jeg har ikke afprøvet koden, kan være du har ret, så det vil jeg lige gøre
> ...men VBscript har ikke altid samme syntaks som PHP;)
>
> > men ellers kan split også bruges
>
> Jah... som sagt, vi er nok enige, hvis den skal igennem en regExp,
> foretrækker jeg en inStr i stedet (som så _bør_ i en if-then for at tjekke
> for 0-forekomster). Er inStr så hurtigere end Split?
>
>
> MVH
> Rune Jensen

Beklager - jeg var i php gruppen... Eller troede jeg var... :/

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Rune Jensen (21-01-2009)
Kommentar
Fra : Rune Jensen


Dato : 21-01-09 22:41

Birger Sørensen skrev:

> Beklager - jeg var i php gruppen... Eller troede jeg var... :/

Det var jeg næsten klar over - men du hjalp mig faktiisk to gange
alligevel;)


MVH
Rune Jensen

Birger Sørensen (21-01-2009)
Kommentar
Fra : Birger Sørensen


Dato : 21-01-09 23:48

Rune Jensen forklarede den 21-01-2009:
> Birger Sørensen skrev:
>
>> Beklager - jeg var i php gruppen... Eller troede jeg var... :/
>
> Det var jeg næsten klar over - men du hjalp mig faktiisk to gange alligevel;)
>
>
> MVH
> Rune Jensen

Blind hane kan også finde orm...

I PHP bruger split altid regexp, og man skal derfor passe på hvad man
søger efter - det giver ikke altid det forventede resultat.
explode, søger derimod kun den streng der angives, og kan ikke bruge
regexp.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Rune Jensen (22-01-2009)
Kommentar
Fra : Rune Jensen


Dato : 22-01-09 03:46

Rune Jensen skrev:

> ...hvad sker så, hvis der ikke er en / i strengen, som skal splittes?

Har lavet en lille test-side her:
http://runejensen.dk/temp/nyhedsgrupper/deiwsa/split_instr_test.asp


MVH
Rune Jensen

--
WinAMP: DJ Doboy The Vocal Edition vol. 04
http://www.di.fm/

Linda Møller (22-01-2009)
Kommentar
Fra : Linda Møller


Dato : 22-01-09 10:14

Rune Jensen wrote in dk.edb.internet.webdesign.serverside.asp:
Herligt - som altid hurtig og kvalificeret hjælp....

Jeg endte op med

Function trimSlash(Txt)
Dim FS
FS = inStr(Txt, "/")
if FS then Txt = Left(Txt, FS -1) (nb - -1 - så får jeg heller

trimSlash = Txt
End Function


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Linda Møller (22-01-2009)
Kommentar
Fra : Linda Møller


Dato : 22-01-09 10:17

Linda Møller wrote in dk.edb.internet.webdesign.serverside.asp:

> Herligt - som altid hurtig og kvalificeret hjælp....
>
> Jeg endte op med
>
> Function trimSlash(Txt)
> Dim FS
> FS = inStr(Txt, "/")
> if FS then Txt = Left(Txt, FS -1) (nb - -1 - så får jeg heller
>
> trimSlash = Txt
> End Function
>
>
Ups - albue i tastaturet.... Det jeg mente var - så får jeg heller ikke
"/" med i resultatet...

Stor tak herfra...
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Stig Johansen (21-01-2009)
Kommentar
Fra : Stig Johansen


Dato : 21-01-09 19:39

Linda Møller wrote:

> Jeg har nogle sagsnr i databasen der er bygget op som f.eks.:

"databasen" - hmm.. der findes vist mere end een slags database - hvad
bruger du ?

> 1
> 2
> 2/a 47
> 2/ekstra
> 3
> Det jeg har brug for, er at kunne barbere alt efter "/" væk fra
> værdien, så jeg får værdierne 1, 2, 2, 2, 3 at arbejde videre
> med.

Du skal nok have fat i noget Pos og Substring, afhængig af hvilen database
du bruger.

> Jeg har forsøgt mig med noget "trim" men det er vist ikke det
> rigtige...

Trim fjerner kun 'blanke' på hver side af en streng.

--
Med venlig hilsen
Stig Johansen

Stig Johansen (22-01-2009)
Kommentar
Fra : Stig Johansen


Dato : 22-01-09 05:04

Stig Johansen wrote:

> Linda Møller wrote:
>
>> Jeg har nogle sagsnr i databasen der er bygget op som f.eks.:
>
> "databasen" - hmm.. der findes vist mere end een slags database - hvad
> bruger du ?

Glem det der.
På en eller anden måde fik jeg læst det som om du var ude efter et SQL
udtræk men indbygget 'trim'.

--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste