/ / získanie podreťazca reťazca vo vb.net - vb.net, vb.net-2010

získať podreťazec reťazca vb.net - vb.net, vb.net-2010

Mám taký druh povrázku

Priezvisko, Meno a priezvisko

Bol by som rád, keby boli umiestnené do 3 rôznych textových polí

Krstné meno Stredné meno Priezvisko

ale zdá sa mi, že to nemám pravdu,

Mám tento kód pre svoj projekt:

Name = Me.dtgEmplist.CurrentRow.Cells(1).Value

fname = Name.Substring(Name.IndexOf(" ")).Trim
mname = fname.Substring(fname.IndexOf(" ")).Trim
lname = Name.Substring(0, Name.IndexOf(",")).Trim

Zdá sa, že správne dostávam priezvisko a stredné mená, ale krstné meno je veľmi zložité, iba sa mi podarí získať tento druh výstupu

Krstné meno Stredné meno Priezvisko

mohol by mi niekto pomôcť? Skúšal som to tak dlho.

Úpravy: sú prevzaté z prehľadu dát. A zobrazenie dátového mriežky sa vyplní z uloženej procedúry

odpovede:

0 pre odpoveď č. 1

Malo by byť ľahké, ak použijete metódu Split, ako ostatní povedali:

Name = Me.dtgEmplist.CurrentRow.Cells(1).Value

Dim FirstSplit as String()
FirstSplit = Name.Split(",")
fname = FirstSplit(0).Trim()

Dim SecondSplit as String() = (FirstSplit(1).Trim()).Split()

mname = SecondSplit(0).Trim
lname = SecondSplit(1).Trim

Najprv sa rozdelíte na znak „,“ a potom na medzeru. Možno by ste mali skontrolovať aj rozmer poľa.


0 pre odpoveď č. 2

môže to byť jednoduchšie s reťazcom.Split (): https://msdn.microsoft.com/en-us/library/tabh47cf(v=vs.110).aspx

najprv môžete rozdeliť celý reťazec v kóme:

string[] splitted
string[] splitted2
splitted = Name.Split(New Char() {","c})

fName = splitted(0).Trim
splitted2  = splitted(1).Split(New Char() {" "c}

mname = splitted2(0).Trim()
lname = splitted2(1).Trim()