我有一组字符串都具有相同的模式:"琼斯,鲍勃 - 没有时间"它是姓氏,逗号,名字,然后是连字符,没有时间。我想删除姓氏和名字,并将它们保存到变量中。我试过了:
dim emp_name as string = "Jones, Bob - NO TIME"
emp_name = Replace(emp_name, "- NO TIME", "")
dim _Name as string() = emp_name.Split(",")
Dim first_Name as string = Name(0)
Dim last_Name as string = Name(1)
由于某种原因,替换并没有摆脱" - 没有时间"而且我不确定原因。
答案 0 :(得分:1)
_Name
不是Name
,我猜Name
是您班级的不同属性。
为什么你不使用.NET
方法String.Replace
,而是使用旧的VB函数Replace
?
但是既然你想在最后删除令牌,你不想替换每一次出现:
Dim empName as string = "Jones, Bob - NO TIME"
Dim index = empName.LastIndexOf("- NO TIME")
empName = If(index = -1, empName, empName.Remove(index))
Dim tokens = empName.Split(","c)
Dim lastName as string = tokens(0).Trim()
Dim firstName as string = tokens.Last().Trim()
答案 1 :(得分:0)
替换这两行:
Dim first_Name as string = Name(0)
Dim last_Name as string = Name(1)
与
Dim first_Name as string = _Name(0)
Dim last_Name as string = _Name(1)
因为您的数组是_Name
而不是Name