webForumDet fria alternativet

Plocka ut tecken från sträng till variabler

ASP

4 svar · 303 visningar · startad av bigsky

Medlem sedan maj 2002821 inlägg
Frågan#1

Jag har följande textsträng: 02 July 2004, GMT+1 03:35

Från den vill jag i fem variabler ha ut datan i följande format:

strDay = 02
strMonth = 7
strYear = 2004
strHour = 03
strMinute = 35

Hur ska detta göras?

Medlem sedan okt. 20005 273 inlägg
#2

Jag skulle använda funktionerna Day(), Month(), Year(), Hour() och minute().

Du kan läsa mer om dem här
http://www.devguru.com/Technologies/vbscript/quickref/vbscript_list.html
mv icaaq

Medlem sedan juni 20034 013 inlägg
#3

Kolla på datumfunktionerna i dokumentationen. I php finns det färdiga funktioner för det, så det borde väl rimligtvis finnas i asp också.

Annars har du ju en funktion som heter split som du kan använda för att dela upp en variabel i flera. Här skulle du t.ex. kunna splitta på mellanslag så får du ut delarna:

02
July
2004,
GMT+1
03:35

strDay blir ju lätt för den får du då gratis. På strYear tar du ju bara de första fyra tecknen med mid eller left. På strHour och strMinute använder du antingen mid eller right och left för att plocka ut delarna. Eller varför inte en split på : ?

strMonth är väl den enda som bjuder lite motstånd. Om du kan göra en hash i asp så är väl det enklast, alltså en array där du istället för nummer har strängar. Det används ju t.ex. ofta när man hämtar ut information ur databaser, har jag sett... RS("test") och såna saker... Men i alla fall, typ:

month("January") = 1
month("February") = 2
month("March") = 3
osv...

Sen får du ju ut strMonth genom att stoppa in månadsdelen från strängen:

strMonth = month(din_strängdel_för_månaden)

Medlem sedan maj 2002821 inlägg
#4

Tack.

Medlem sedan maj 200010 687 inlägg
#5

tydal, finns collection object som t.ex. Scripting.Dictionary. Kanske inte lika smidigt och snabbt att använda som i JavaScript som jag kan jämföra med (likadant i PHP?), men man får vissa små extra funktionaliteter.

Set dic = Server.CreateObject("Scripting.Dictionary")
dic.CompareMode = 1

dic("x") = 0
dic("y") = 1
dic("z") = 2

If dic.Exists("z") Then
	Response.Write dic("z")
End If

Set dic = Nothing
293 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
138 ms — deklarationer (db)
0 ms — hämta statistik (cache)
147 ms — hämta tråd, inlägg och bilagor (db)
142 ms — ändringar (db)