String in 2 delen aan de hand van een substring

Status
Niet open voor verdere reacties.

MrDaffyDuck

Gebruiker
Lid geworden
7 okt 2014
Berichten
10
Hoi iedereen,
Heb een vraagje.
Ik heb volgende code:

Code:
Public Class Form1

    Private Sub btnGo_Click(sender As System.Object, e As System.EventArgs) Handles btnGo.Click
        Dim strNaam, strNaamH, strNaamK, strNaamLengte As String

        strNaam = txtNaam.Text

        strNaamH = strNaam.ToUpper

        strNaamK = strNaam.ToLower

        strNaamLengte = strNaam.Length


        With lstResultaat.Items
            .Clear()
            .Add("Hallo, " & strNaam)
            .Add("Uw naam in hoofdletters, " & strNaamH)
            .Add("Uw naam in kleineletters, " & strNaamK)
            .Add("Uw ingevulde veld bevat " & strNaamLengte & " tekens.")
        End With
    End Sub

End Class

Nu tot nu toe werkt alles vlotjes, en is het ook niet moeilijk.
Nu in het intput velde txtNaam, moet je je Voor + Achternaam ingeven, ik wil de voor en achternaam graag af elkaar halen zodat ik deze apart kan gebruiken. Maar er mag maar 1 invul veld zijn.
Iemand die mij kan helpen?

Ik denk dat je met indexOf(" ") iets moet doen, maar ik krijg steeds een foutmelding, dus als iemand mij op weg kan zetten? :)

Alvast bedankt!

grtzz,
Robbe
 
Je kunt het bijvoorbeeld zo doen:

[CPP]Dim name As String = "Daffy Duck"

Dim indexOfSpace = name.IndexOf(" ")

Dim firstname = name.Substring(0, indexOfSpace)
Dim lastname = name.Substring(indexOfSpace + 1, name.Length - (indexOfSpace + 1))[/CPP]

Ik neem aan dat dit als oefening is. Dit gaat alleen werken met namen zoals 'Jan Janssen' en niet met 'Jan Pieter de Vries' (waar je 2 voornamen hebt) of 'Jan van de Berg'.
 
Bedankt!
Is inderdaad een oefening om basis programmeren wat onder de knie te krijgen :)

Robbe
 
Hallo,

Je zou het ook met String.Split kunnen doen. Deze functie geeft een array van strings terug, dus die moet je iets anders behandelen dan een string, maar het 'probleem' dat het met meerdere namen de naam slechts in twee stukken opdeelt heb je dan niet meer, maar nog steeds weet je niet precies wat de voor en achternamen zijn...

Persoonlijk vind ik het voorbeeld van msdn (de link) niet zo heel goed, dus hier is nog een klein voorbeeldje:
[CPP]Dim FullName As String = txtName.Text
Dim SplitName() As String = FullName.Split(" ")

lstResult.Items.Add("Your name has " & SplitName.Count & " different parts.")

For i As Integer = 0 To SplitName.Count - 1 Step 1
lstResult.Items.Add("Part " & i + 1 & " is " & SplitName(i))
Next[/CPP]

Als je hier bijvoorbeeld "Jan Pieter de Vries" invult, dan krijg je de volgende output:
Code:
Your name has 4 different parts.
Part 1 is Jan
Part 2 is Pieter
Part 3 is de
Part 4 is Vries

Als de vraag opgelost is, wil je dan graag op 'vraag opgelost' drukken in je eerste post?

MartinJM
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan