字符串刪除與插入
給定一個(gè)長度不超過100位的字符串S,現(xiàn)有以下兩種操作指令:
指令1(刪除):給出一個(gè)字符串S1,在字符串S中找到最左邊的一個(gè)字符串S1,將其刪除,若在S中不存在字符串S1,則字符串S不變.
例如:S=“China is a big family,it is big”S1=“big”
則執(zhí)行指令1后,S=“China is a family,it is big”
若S1=“small”,則S不變
指令2(插入):給出了一個(gè)字符串S2,和一個(gè)整數(shù)w,將S2插入到S中以w開始的位置.
例如:S=“a big family”S2=“very”w=3
則執(zhí)行指令2后,S=“a very big family”
注意S中“a”后有一個(gè)空格,S2中“y”后有一個(gè)空格
實(shí)現(xiàn)上述功能的VB程序如下.請?jiān)跈M線處填入合適代碼.
Dim S As String
Private Sub Command1_Click( ?。?單擊Command1實(shí)現(xiàn)刪除指令
Dim S1 As String
S=Text1.Text
S1=Text1.Text
S=del(S1)
Text5.Text=S
End Sub
Private Sub Command2_Click( )'單擊Command2實(shí)現(xiàn)插入指令
Dim S2 As String,W As Integer
S=Text1.Text
S2=Text2.Text
W=Val(Text4.Text)
S=
add(s2,w)
add(s2,w)
'調(diào)用函數(shù),實(shí)現(xiàn)出入指令
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 i=i To i+Len(S1)-1
S3=S3+Mid(S,j,1)
Next j
If s1=s3
s1=s3
Then'如果找到S1,則將S1刪除
S=Mid(S,1,i-1)+Mid(S,i+Len(S1),Len(S)-Len(S1)-i+2)
del=S
Exit Function'刪除左邊的第一個(gè)S1后,退出函數(shù),以保證只刪除一次
End If
Next i
End Function
Function add(S2 As String,W As Integer) As String
S=Mid(S,1,W-1)+S2+mid(s,w,len(s)-w+1)或mid(s,w)
mid(s,w,len(s)-w+1)或mid(s,w)
'將S2插入W開始的位置
add=S
End Function.