在vb.net中获取字符串的子字符串

时间:2016-07-21 07:01:58

标签: vb.net vb.net-2010

我有这种字符串

姓氏,名字中间名

我希望将它们放在3个不同的文本框中

姓 中间名字 名字

但我似乎无法把它弄好,

我的项目有这些代码:

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

我似乎正确地得到了LastName和middlenames,但是firstname非常棘手,我只是成功获得了这种输出

FirstName MiddleName 中间名字 名字

有人可以帮帮我吗?我一直在尝试这么久。

编辑:它们来自datagridview。 datagridview视图是从存储过程

填充的

2 个答案:

答案 0 :(得分:0)

使用string.Split():https://msdn.microsoft.com/en-us/library/tabh47cf(v=vs.110).aspx

可能会更容易

你可以先在昏迷上分割整个字符串:

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()

答案 1 :(得分:0)

如果您使用Split方法应该很容易,因为其他人说:

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

首先,你拆分','字符然后拆分空间。也许你也应该检查数组维度。