2011-06-27 17 views
2

私はこのような文字列があります。文字列の文字を並べ替えるにはどうすればよいですか?

1a2b3c4d5e6f7g8h 

を私は次のようにそれを再配置する必要があります。

a1b2c3d4e5f6g7h8 

あなたは私が何を意味するか理解していますか?それぞれ2つの文字は、以下の文字で場所を交換する数字について、すなわち1a変化から、それa1

にだから私の質問は、文字列で数字や文字を並べ替える方法をのですか?私の文字列は常に上記のパターンを持っています。つまり、1つの整数、それに続く文字、それに続く整数、それに続く文字などです。

答えて

3

私はこのようなものは、あなたが望む何をすべきだと思う:

Dim input As String 
    input = "1a2b3c4d5e6f7g8h" 

    Dim tmp As Char() 
    tmp = input.ToCharArray() 

    For index = 0 To tmp.Length - 2 Step 2 
     Dim a As Char 
     a = tmp(index + 1) 
     tmp(index + 1) = tmp(index) 
     tmp(index) = a 
    Next 

    Dim output As String 
    output = New String(tmp) 
4

あなたは、単純な正規表現の置換でこれを行うことができます。

Dim input As String = "1a2b3c4d5e6f7g8h" 
Dim output As String = Regex.Replace(a, "(\d)(\w)", "$2$1") 
Console.WriteLine(input & " --> " & output) 

出力:

1a2b3c4d5e6f7g8h --> a1b2c3d4e5f6g7h8 
関連する問題