替换方法不起作用?

时间:2017-09-14 12:39:44

标签: vb.net

我有一组字符串都具有相同的模式:"琼斯,鲍勃 - 没有时间"它是姓氏,逗号,名字,然后是连字符,没有时间。我想删除姓氏和名字,并将它们保存到变量中。我试过了:

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)

由于某种原因,替换并没有摆脱" - 没有时间"而且我不确定原因。

2 个答案:

答案 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

相关问题