字符串删除与插入:给定一个长度不超过100位的字符串S,现有以下两种操作指令:
指令1(删除):给出一个字符串S1,在字符串S中找到最左边的一个字符串S1,将其删除,若在S中不存在字符串S1,则字符串S不变。
例如:S=“China is a big family,it is big” S1=“big”
则执行指令1后,S=“China is a family,it is big”
若S1=“small”,则S不变。
指令2(插入):给出一个字符串S2,和一个整数w,将S2插入到S中以w开始的位置。
例如:S=“a big family” S2=“very ” w=3
则执行指令2后,S=“a very big family”
注意S中“a”后有一个空格,S2中“y”后有一个空格
实现上述功能的VB程序如下。请在划线处填入合适代码。
Dim S As String
Private Sub Command1_Click() ’单击Command1实现删除指令
Dim S1 As String
S = Text1.Text
S1 = Text2. Text
S = del(S1)
Text5.Text = S
End Sub
Private Sub Command2_Click() ’单击Command2实现插入指令
Dim S2 As String, W As Integer
S = Text1.Text
S2 = Text2.Text
W = Val(Text4.Text)
S = {#blank#}1{#/blank#} ’调用函数,实现插入指令
Text5.Text = S
End Sub
Function del(S1 As String) As String ’在字符串S中查找并删除S1
Dim S3 As String
For i = 1 To Len(S) - Len(S1) + 1
S3 = "" ’S3表示从位置i开始,取出长度和S1相同的字符串
For j = i To i + Len(S1) - 1
S3 = S3 + Mid(S, j, 1)
Next j
If {#blank#}2{#/blank#} Then ’如果找到S1,则将S1删除
S = Mid(S, 1, i - 1) + Mid(S, i + Len(S1), Len(S) - Len(S1) - i+ 2)
del = S
Exit Function ’删除左边的第一个S1后,退出函数,以保证只删除一次
End If
Next i
End Function
Function add(S2 As String, W As Integer) As String
S = Mid(S, 1, W - 1) + S2 + {#blank#}3{#/blank#} ’将S2插入W开始的位置
add = S
End Function