VB.NET:将包含"Lastname,Firstname"的字符串转换为"Firstname Lastname"

Pet*_*fic 2 vb.net string

我正在尝试将包含某个名称的字符串转换为"Last,First"到"First Last".

这就是我现在这样做的方式:

name = name.Trim
name = name.Substring(name.IndexOf(",") + 1, name.Length) & " " & name.Substring(0, name.IndexOf(",") - 1)
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到以下错误:

ArgumentOutOfRangeException未处理

索引和长度必须指向字符串中的位置

参数名称:长度

有人可以解释为什么我会收到此错误以及我应该如何做到这一点?

Joh*_*Woo 6

你收到的错误是:

name.Substring(name.IndexOf(",") + 1, name.Length)
Run Code Online (Sandbox Code Playgroud)

name.Length应该用逗号之前的字符串长度减去.

最好的方法是拆分字符串.

Dim oFullname as string = "Last, First"
Dim oStr() as string = oFullname.split(","c)
oFullname = oStr(1).trim & " " & oStr(0).trim
MsgBox (oFullname)
Run Code Online (Sandbox Code Playgroud)