这可能很快。但我有这个字符串,如下所示:
Gabriel, Peter
我希望这个字符串看起来像这样:
Peter Gabriel
我知道替换和拆分功能,但是我不知道如何在没有太多麻烦的情况下尽可能地简化它?
编辑:我实际上是通过搞乱一点来修复它。这是代码
Dim strDisplayName as string
strDisplayName = "Gabriel, Peter"
Dim strTemp() As String
strTemp = Split(strDisplayName, ",")
strTemp(1) = Replace(strTemp(1), " ", "")
strDisplayName = strTemp(1) & " " & strTemp(0)
它可能不是最优雅的解决方案,但至少我可以告诉它发生了什么:p
答案 0 :(得分:1)
我没有测试这个,因为我在Mac上,但这是我猜它会起作用的方式
dim fullname as string = "Gabriel, Peter"
dim order_name as string = fullname.substring(indexof(", ")+1) & " " & fullname.substring(1,indexof(","))
msgbox order_name
答案 1 :(得分:1)
Dim strDisplayName As String = "Gabriel, Peter"
Dim strTemp() As String = Split(strDisplayName, ",")
Array.Reverse(strTemp)
Dim PersonName As String = Join(strTemp, " ")
这应该在VB.Net中起作用
答案 2 :(得分:1)
以下是解决方案:
Dim YourString As String = "Gabriel, Peter"
Dim Temp() As String = Split(YourString, ", ", -1, CompareMethod.Binary)
Dim Result As String = Temp(1) & " " & Temp(0)
'now Result = "Peter Gabriel"
注意:此解决方案已在Visual Studio 2010中测试正常。
答案 3 :(得分:0)
如果你知道逗号存在:
aParts = split(oldvalue, ",")
newvalue = trim(aPart(1)) & " " & trim(aPart(0))
你可能在一行上完成所有这一切并且不需要中间数组(或者可能不是,我的vbscript有点生疏)但这意味着调用split两次,所以无论如何都可能效率低下。
或者没有拆分,只需使用基本的字符串函数:
newvalue = trim(mid(oldvalue, instr(oldvalue,",")+1) & " " & trim(mid(oldvalue, instr(oldvalue,",")-1)
编辑:我刚刚注意到您已经标记了问题vb.net以及vbscript。以上是vbscript,我对vb.net知之甚少......