在 vb.net 中获取字符串的子字符串
getting a substring of a string in vb.net
我有这种字符串
姓氏,名字中间名
我希望将它们放在 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 很棘手,我只成功获取了这种输出
名字中间名
中间名字
姓
有人能帮帮我吗?我已经尝试了这么久。
编辑:它们取自数据网格视图。并且 datagridview 视图是从存储过程填充的
使用 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()
按照大家说的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
首先,您拆分为“,”字符,然后拆分为 space。也许您还应该检查数组维度。
我有这种字符串
姓氏,名字中间名
我希望将它们放在 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 很棘手,我只成功获取了这种输出
名字中间名 中间名字 姓
有人能帮帮我吗?我已经尝试了这么久。
编辑:它们取自数据网格视图。并且 datagridview 视图是从存储过程填充的
使用 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()
按照大家说的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
首先,您拆分为“,”字符,然后拆分为 space。也许您还应该检查数组维度。