|
| 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 |
| | |
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
| |
|
|