Avatar billede mpless Nybegynder
25. juni 2004 - 08:55 Der er 7 kommentarer og
1 løsning

Late binding i array

hej
følgende kode giver fejl med option strict on ..
Hvorfor ?


---

Public Sub stripLink(ByVal NytLink As String)

        'Dim NytLink As String
        Dim nytarray As Array

        'NytLink = "http://www.eksperten.dk"
        'NytLink = "www.eksperten.dk"

        nytarray = Split(NytLink, "http://")

        If nytarray.GetUpperBound(0) = 1 Then
            Response.Write("http://" & nytarray(1))
        ElseIf nytarray.GetUpperBound(0) = 0 Then
            Response.Write("http://" & nytarray(0))
        End If

    End Sub
Avatar billede burningice Nybegynder
25. juni 2004 - 12:43 #1
du skal explicit fortælle hvilken type array det er

Dim nytarray As String()
Avatar billede burningice Nybegynder
25. juni 2004 - 12:48 #2
men... drop nu de gamle vb-kompatible funktioner og brug de rigtige:

Dim nytarray As String()
nyrray = NytLink.Split("http://")

Altså, udfør funktioner på dine data, istedet for at put data ind i dine funktioner. Det er en af grundpillerne i OOP
Avatar billede mpless Nybegynder
25. juni 2004 - 13:48 #3
tak ... men hvis jeg bruger NytLink.split splitter den forkert ...

smid lige et svar !
Avatar billede burningice Nybegynder
25. juni 2004 - 17:46 #4
mpless>> ja, har undersøgt det lidt, og String.Split() metoden tager en char som input, og ikke en hel streng
Avatar billede mpless Nybegynder
25. juni 2004 - 18:16 #5
Hmmm ... hvordan splitter man så en streng i vb.net ?
Avatar billede burningice Nybegynder
25. juni 2004 - 20:32 #6
med en char...

Dim foo As String = "morten,pauli,allan,mandag,tirsdag"
Dim fooArr As String() = foo.Split(',')
Avatar billede arne_v Ekspert
25. juni 2004 - 23:38 #7
.NET String Split tager et char array som argument.

NytLink.Split("http://".ToCharArray())

gør imidlertid ikke det samme som VB6 Split.

Den splitter alle steder et af tegnene i arrayet forekommer.

Til at splitte på en hel streng skal du over i regular expressions.

Lille relevant eksempel:

Imports System
Imports System.Text.RegularExpressions

Module Main
    Function Strip(url As String) As String
        Strip = Regex.Matches(url, "(?:(?:http://)|(?:))(.*)")(0).Groups(1).ToString()
    End Function
    Sub Main()
        Console.WriteLine(Strip("http://www.eksperten.dk"))
        Console.WriteLine(Strip("www.eksperten.dk"))
    End Sub
End Module
Avatar billede mpless Nybegynder
22. september 2004 - 12:17 #8
Lukker ..
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