帮忙写一个简单的VB程序

rt 要求是输入一个不少于 20的字符串s1 , 再输入两个子字符串 s2,s3 这两个子字符串是s1中的 , 要求把s2和s3在s1中的位置调换 再输出结果
比如 输入s1=abcdefghijk123456789 s2=123 s3=abc
要求输出的是123defghijkabc456789
求高手赐教 题目提示不能用replace()用到的函数有trim(), len() ,instr() ,left(), mid()等。分别用表达式获得要替换的子字符串左边和右边的内容 然后把3部分用“+”连接起来
就这点分了! 谢谢

Private Sub Form_Click()
Dim t1 As Integer
Dim t2 As Integer

s1 = "abcdefghijk123456789"
s2 = "123"
s3 = "abc"
t1 = InStr(s1, s2)
t2 = InStr(s1, s3)
s2 = s2 & Mid(s1, t2 + 3, t1 - t2 - 3)
s2 = s2 & s3 & Right(s1, Len(s1) - t1 - 2)
Print s2
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-14
Dim S1 As String, S2 As String, S3 As String
Dim S4 As String, S5 As String, S6 As String
Dim LenS5 As Integer
S1 = InputBox("输入字符串S1")
S2 = InputBox("输入字符串S2")
S3 = InputBox("输入字符串S3")
S4 = Left(S1, InStr(S1, S2) - 1)
LenS5 = InStr(S1, S3) - (InStr(S1, S2) + Len(S2))
S5 = Mid(S1, InStr(S1, S2) + Len(S2), LenS5)
S6 = Mid(S1, InStr(S1, S3) + Len(S3))
S1 = S4 & S3 & S5 & S2 & S6
Print S1
第2个回答  2011-03-14
s1 = "abcdefghijk123456789"
s2 = "123"
s3 = "abc"
int1 = InStr(1, s1, s3, 1)
int2 = InStr(1, s1, s2, 1)
tmp = Mid(s1, int1 + Len(s3), int2 - Len(s2) - 1)
tmp2 = Mid(s1, int2 + Len(s2), Len(s1) - int2 - Len(s2) + 1)
OutStrs = s2 & tmp & s3 & tmp2
相似回答