Vbscript - 从逗号字符向右移动字符

时间:2011-06-23 13:03:40

标签: vb.net string vbscript

这可能很快。但我有这个字符串,如下所示:

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

4 个答案:

答案 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知之甚少......