webForumDet fria alternativet

Hjälp med sträng.

ASP

5 svar · 325 visningar · startad av danis

Medlem sedan aug. 2002157 inlägg
Frågan#1

Hej!

Har en sträng som exempelvis ser ut som följande:
10,4,50,10,30,22,22,5 osv.

Nu vill jag ha en funktion som tar bort dubbletterna. Det svåra är att strängen inte får börja eller sluta med ett ",".

Nån som kan hjälpa mig?

Mvh Daniel

Medlem sedan nov. 20017 144 inlägg
#2

Testa detta:

Response.write makeUnique(",10,4,50,10,30,22,22,5,")

Function makeUnique(ByVal str)
	Dim strArr,i,dic,item,newstr
	str = trimCommas(str)
	str = ","& str &","
	strArr = split(str,",")
	Set dic = Server.CreateObject("Scripting.Dictionary")
	dic.CompareMode = 1
	
	For i = 1 to ubound(strArr)-1
	  dic(strArr(i)) = 1
	Next

	For each item in dic.Keys
	  newstr = newstr & "," & item
	Next

	Set dic = Nothing
	makeUnique = trimCommas(newstr)
End Function

Function trimCommas(ByVal str)
	Dim objRegExp
	Set objRegExp = New RegExp
	objRegExp.Global = true
	objRegExp.Pattern = "(^,|,$|\s)"
	trimCommas = objRegExp.Replace(str,"")
	Set objRegExp = Nothing
End Function
Medlem sedan aug. 2002157 inlägg
#3

Tack, det verkar fungera. Men jag har några andra frågor.

Jag sparar denna sträng i en cookie, olika ID-nummer. Ska användas för att hålla koll på de senaste sidorna man besökt.

Vill inte ändra ordningen på siffrorna. Den dubblet som är längst till höger ska bort, samtidigt ska de andra siffrorna ligga i samma följd som tidigare.

Nån som förstår? :l

//Daniel

Medlem sedan juli 20003 825 inlägg
#4

> Nån som förstår?

Nej...!

Varför använda siffror på olika sidor?

En sida består av en viss sökväg... vad hindrar dig från att använda den!? :-)

***
Ett tips till dig, jag har inget svar på din specifika fråga, det är att lägga allt det där i databas. Du sparar respektive användare med sessioID, alltså oavsett om man är inloggad eller inte. Du kan se se statistik över sajtens mest efterfrågade sidor!

På det viset kan du få "betyg" eller "besökarnas omdömme" om din sajt. Du ser vilka ämnen folk tycker är intressanta som det är värt att arbeta mer med!

Du kan givetvis göra samma som cookie, men då har du ju ingen nytta av allt ditt arbete för egen del, endast samma arbetsinsats kommer besökaren tillgodo!

Förstår du? :-)

Medlem sedan aug. 2002157 inlägg
#5

Sajten är uppbyggd med massor av artiklar, meningen är att besökarna ska kunna se vilka artiklar man senast läst. Dett skulle sparas i en cookie, exempelvis 10,4,50,10,30,22,22,5 osv.

Så därför måste jag ha siffror, annars vet jag inte ID-numret till de diverse artiklarna. Jag vill inte spara något ip-nummer i databasen så därför får jag försöka med cookies.

Det ska vara en öppen sajt för alla, utan att man ska behöva bli medlem.

Medlem sedan juni 200032 967 inlägg
#6

Mitt förslag är att du ser till att kontrollera att inte ett värde finns i cookien redan när du ska spara ner id:t.

Det förutsätter visserligen att strängen inleds och avslutas med ett kommatecken, men det borde ju inte vara några som helst problem att hantera i ASP-koden.

vmh

1011 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
345 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
367 ms — ändringar (db)