Avatar billede crapman Nybegynder
26. januar 2004 - 09:47 Der er 11 kommentarer og
1 løsning

Split ved forskellige tegn

Hejsa, jeg står og mangler en funktion der laver et array som er splittet på flere end ét tegn, nemlig '-', '/' og '.'

Kan det lade sig gøre?
Avatar billede thesurfer Nybegynder
26. januar 2004 - 09:53 #1
Hvordan ser strengen ud?
Avatar billede crapman Nybegynder
26. januar 2004 - 09:54 #2
det er meget forskelligt... det er hentet fra en gammel filmaker pro database, hvor timestampet er forskelligt angivet... nogle gange 22-11-2003, andre gange 22/11/2003 og helt andre gange 22.11.2003
Avatar billede thesurfer Nybegynder
26. januar 2004 - 10:00 #3
men aldrig "22-11/2003" eller f.eks. "22.11-2003"? Dvs, limiteren er den samme i hele strengen..
Avatar billede crapman Nybegynder
26. januar 2004 - 10:02 #4
det mener jeg, men jeg skal ikke kunne udelukke noget, da der er 1700 poster, og da timestampet altid er udfyldt af personen der oprettede den pågældende record....
Avatar billede thesurfer Nybegynder
26. januar 2004 - 10:04 #5
hmm.. hvis det er den samme:

streng = "22-11-2003"

if InStr(streng, ".") then tegn = "."
if InStr(streng, "-") then tegn = "-"
if InStr(streng, "/") then tegn = "/"

arrStreng = split(streng, tegn)

Ellers skal du finde ud af, om det altid er "dd_mm_åååå" formatet.. "_" erstattes af det der bruges..
Avatar billede thesurfer Nybegynder
26. januar 2004 - 10:09 #6
Eksempel:

<%
streng = "22-11-2003"

response.write "Streng: " & streng
response.write "<hr>"

if InStr(streng, ".") then tegn = "."
if InStr(streng, "-") then tegn = "-"
if InStr(streng, "/") then tegn = "/"

arrStreng = split(streng, tegn)

for i = LBound(arrStreng) to UBound(arrStreng)
  response.write arrStreng(i) & "<br>"
next

response.write "<hr>"

dag = left(streng, 2)
maaned = mid(streng, 4, 2)
aar = right(streng, 4)

response.write "dag: " & dag & "<br>måned: " & maaned & "<br>år: " & aar
%>
Avatar billede thesurfer Nybegynder
26. januar 2004 - 10:17 #7
En anden metode:

response.write "<hr>"

output = ""
for i = 1 to len(streng)
  tmp = mid(streng,i,1)
  if IsNumeric(tmp) then
    output = output & tmp
  else
    output = output & "*"
  end if
next

arrOutput = split(output, "*")
dag = arrOutput(0)
maaned = arrOutput(1)
aar = arrOutput(2)

response.write "dag: " & dag & "<br>måned: " & maaned & "<br>år: " & aar
Avatar billede thesurfer Nybegynder
26. januar 2004 - 10:19 #8
Min sidste løsning, er ligeglad om der så står "22.11!2003", "22m11d2003", 22^11_2003" osv..

- Jeg mener at det er en brugbar løsningn, og lægger hermed et svar.
Avatar billede crapman Nybegynder
26. januar 2004 - 10:20 #9
Takker :)
Avatar billede thesurfer Nybegynder
26. januar 2004 - 10:21 #10
Test koden før du giver points :)
Avatar billede crapman Nybegynder
26. januar 2004 - 10:28 #11
Har jeg gjort... og den fungerer.... ;)
Avatar billede thesurfer Nybegynder
26. januar 2004 - 10:29 #12
Alletiders :)
Takker for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester