我有一个这样的字符串:
1a2b3c4d5e6f7g8h
我需要重新安排它如下:
a1b2c3d4e5f6g7h8
你明白我的意思吗?对于每两个字符,数字字符交换位置使用以下字母,即从1a
将其更改为a1
所以我的问题是如何重新排列字符串中的数字字符和字母?我的字符串总是有所说的模式,即一个整数,然后是一个字母,然后是一个整数,然后是一个字母,依此类推。
答案 0 :(得分:4)
您可以通过简单的正则表达式替换来完成此操作。
Dim input As String = "1a2b3c4d5e6f7g8h"
Dim output As String = Regex.Replace(a, "(\d)(\w)", "$2$1")
Console.WriteLine(input & " --> " & output)
输出:
1a2b3c4d5e6f7g8h --> a1b2c3d4e5f6g7h8
答案 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)