1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| Option Explicit
Private Const STRP As String = "0 1 2 3 4 5 6 7 8 9"
Sub MainTest()
Dim m As String
m = Inl("22234444", 0) & " " & Inl("22234444", 2) & " " & Inl("22234444", 4) & " " & Inl("22234444", 5) & vbCrLf
m = m & Inr("22234444", 0) & " " & Inr("22234444", 2) & " " & Inr("22234444", 4) & " " & Inr("22234444", 5) & vbCrLf
m = m & Ini("22234444", 0) & " " & Ini("22234444", 2) & " " & Ini("22234444", 4) & " " & Ini("22234444", 5)
MsgBox m
End Sub
Function Inl(strC As String, lngRept As Integer) As Boolean
Dim cpt As Integer, t
If lngRept > 0 Then
t = Split(STRP, " ")
Do
Inl = strC Like "*" & String(lngRept, t(cpt)) & "*"
cpt = cpt + 1
Loop While Not Inl And cpt <= 9
End If
End Function
Function Inr(strC As String, lngRept As Integer) As Boolean
Dim cpt As Integer, L As Integer, t
If lngRept > 0 Then
t = Split(STRP, " ")
Do
L = Len(Replace(strC, String(lngRept, t(cpt)), ""))
Inr = ((Len(strC) - L) Mod lngRept = 0) And Len(strC) > L
cpt = cpt + 1
Loop While Not Inr And cpt <= 9
End If
End Function
Function Ini(strC As String, lngRept As Integer) As Boolean
Dim cpt As Integer, t
If lngRept > 0 Then
t = Split(STRP, " ")
Do
Ini = InStr(1, strC, String(lngRept, t(cpt))) > 0
cpt = cpt + 1
Loop While Not Ini And cpt <= 9
End If
End Function |