18. november 2003 - 23:25
Der er
18 kommentarer og
1 løsning
Fjerne tegn efter et punktum
Hejsa
Hvordan fjerner jeg tegn efter et punktum?
Eksempel
filnavn.bmp > filnavn
Og sidst men ikke mindst :=) hvordan ville man lave det som en funktion så når jeg hiver noget ud fra en db at jeg kan skrive
imgName = FjernKaraktere(rs("Image")
Anybody? :=)
19. november 2003 - 00:57
#1
Der er en del måder at gøre det på.
Mit umiddelbare forslag er
<%
function fjernExt(str)
'split deler strengen ved et angivet tegn - i dette tilfælde punktum - og putter delene i et array
strDelt = split(str,".")
'for at returnere værdien skal den 'proppes i' fjernExt - funktionens navn
'hvis du ønsker at ændre funktionens navn, skal dette altså også ændres
fjernExt = strDelt(0)
end function
txt1 = "filnavn.bmp"
response.Write txt1
response.Write "<br>"
txt2 = fjernExt(txt1)
response.Write txt2
%>
19. november 2003 - 01:05
#2
et alternativ således fil.navn.bmp også virker:
Function fjernExt(str)
fjernExt = Left(str, InStrRev(str, ".")-1)
End Function
19. november 2003 - 01:08
#3
Hehe - var mit næste forslag :)
function fjernExt(str)
'for at returnere værdien skal den 'proppes i' fjernExt - funktionens navn
'hvis du ønsker at ændre funktionens navn, skal dette altså også ændres
'left returnerer x antal tegn fra venstre
'i dette tilfælde bestemmer vi antal tegn med InStr, der returnerer positionen for et angivet tegn - her punktum
fjernExt = left(str,InStr(str, ".")-1)
end function
19. november 2003 - 01:12
#4
Men fil.navn.bmp vil så ikke virke, da den kun vil returnere "fil"
så skal vi bruge InStrRev - den søger bagfra
19. november 2003 - 01:17
#5
vi? tal for dig selv :)
19. november 2003 - 01:24
#6
natten er ung, og her er endnu en måde:
Function fjernExt(str)
Set reg = New RegExp
reg.Pattern = "(.*)\..*$"
fjernExt = reg.Replace(str, "$1")
End Function
19. november 2003 - 01:25
#7
den sidste laver ikke fejl, hvis filen ikke har nogen extension
19. november 2003 - 01:26
#8
hehe - måske lidt for "du og jeg og stauer holder i hånd og sætter os i rundkreds og taler om stauers problemer"-agtigt :)
Har nok været i for megen kontakt med pædagoger i mit liv ;)
19. november 2003 - 01:31
#9
Den var jo dejligt simpel :)
Vil du kommentere den? Vil gerne forstå hvad der sker - bare sådan til en anden god gang.
Ved godt, at jeg bliver lidt pædagogisk igen - "Det er enormt vigtigt at forstå hvad man gør, og ikke bare gøre..." - men det kunne være lækkert med en forklaring :)
19. november 2003 - 01:46
#10
. = matcher alle tegn
\. = matcher punktum
* = 0 eller flere tegn
$ = slut på streng
$1 = først fundne streng i parentes
dvs
(.*) finder alle tegn, indtil næste mønster (punktum)
\. find punktum i streng
.*$ alle tegn efter sidste punktum
$1 henviser til (.*)
flere parenteser:
reg.Pattern = "(.*)\.(.*)$"
fjernExt = reg.Replace(str, "$1[punktum]$2")
fil.navn.bmp -> fil.navn[punktum]bmp
19. november 2003 - 01:50
#11
regulære udtryk er en videnskab for sig selv..
19. november 2003 - 02:10
#12
så for søren.. så gik i amok :=)
jeg brugte eksemplet som squashguy lavede
Function fjernExt(str)
fjernExt = Left(str, InStrRev(str, ".")-1)
End Function
Men hvis du også lige svare deeflate så vil jeg uddele den forholdsvis store mængde point retfærdigt :=)
19. november 2003 - 02:12
#13
har i forresten nogen gode ideer til hvordan man kan bygge en sql streng op hvor man på søgesiden har mulighed for at vælge forskellige søgekriterier.. sql strengen skal så bygges op alt efter hvilke kriterier der er søgt på..
19. november 2003 - 02:23
#14
kan dette lade sig gøre?
strSQL = "SELECT * FROM products"
If Not theMaterial = "" Then
strSQL = strSQL & "AND material='"&theMaterial&"'"
End If
If Not theInnerDia = "" Then
strSQL = strSQL & "AND innerDiameter="&theInnerDia&""
End If
strSQL = strSQL & ""
19. november 2003 - 02:26
#15
nå jeg tror sgu jeg har fået det til at virke..
det er ik så tit det sker..
19. november 2003 - 02:27
#16
:=)
19. november 2003 - 02:27
#17
ellers tak..
19. november 2003 - 09:18
#18
Det gør ikke noget med pointene - jeg fik lært noget i stedet ;)
19. november 2003 - 15:44
#19
Stauer > det var mit svar du accepterede - det er squashguy, der ikke har lagt et svar...
Kurser inden for grundlæggende programmering