当前位置:编程学习 > VB >>

用vb如何实现字符前缀的统一后移?

下面的字符由前缀ninhao和后缀组成。现在想把前缀移到数字后边,用vb如何做?
ninhao1
ninhao2
ninhao3
ninhao4
ninhao5
ninhao6
ninhao7
ninhao8
ninhao9
ninhao10
补充:请详细给出代码
答案:
Dim str_(1 To 10) As String '定义一个数组存储字符串
Const Strs = "ninhao" '定义一个常量存字符串前面字母

'程序的最主要函数,作用是将后面的数字和前面的字母换位
Private Function f(s As String) As String
f = Right(s, Len(s) - Len(Strs)) & Left(s, Len(Strs))
'right (s ,1)是取字符串右边的第一个字符结果是字符串,
'len(strs)是求strs的长度,结果是6
End Function
Private Function f_1(i As Integer) As String
f_1 = Strs & i
End Function
'单击窗体显示结果
Private Sub Form_Click()
Me.Cls
Dim i As Integer
Print "原始字符串"
Print
For i = 1 To 10
str_(i) = f_1(i)
Print str_(i)
Next i
Print "移动后字符串"
Print
For i = 1 To 10
Print f(str_(i))
Next
End Sub
'只需建一个窗体,然后粘贴到通用就行了。就是代码窗口里面只有这些内容。运行 单击窗体 就是了
Private Sub Form_Click()
Dim a() As Variant
a = Array("ninhao1", "ninhao2", "ninhao3", "ninhao4", "ninhao5", _
"ninhao6", "ninhao7", "ninhao8", "ninhao9", "ninhao10")
For i = 0 To UBound(a)
Print a(i); " ";
Next i
Print
For i = 0 To UBound(a)
Print Mid(a(i), 7) & Left(a(i), 6); " ";
Next i
End Sub
的这个问题其实和简单。
你要转换的字符串为 str1,他的前最是str
从str1的str长度地方开始取子串
在加上str就好了
取子串函数我忘了你查查
对字串调用swap函数就可以了,代码如下:

Function swap(a$)
Dim b$
Dim i%
For i = 1 To Len(a)
b = Asc(Mid(a, i, 1))
If b >= Asc("0") And b <= Asc("9") Then
Exit For
End If
Next i

Dim c$, d$
c = Mid(a, 1, i - 1)
d = Mid(a, i, Len(a))
swap = d & c
End Function

Private Sub Command1_Click()
Print swap("ninhao1")
End Sub

上一个:VB如何编写计算1----100的素数
下一个:国家计算机二级VB考试要怎么准备

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,