

Dim arr() as string
dim i as integer
s="ABCDEFGHIJKLMNOP...ABCDEFGHIJKLMNOP"
arr=Split(s,"EFG")
for i=0 to ubound(arr)
Debug.Print arr(i)
next i

Konst_One писал(а):split, instr, mid, left, right и тд и тпдальше сами все поймете
- Код: Выделить всё
Dim arr() as string
dim i as integer
s="ABCDEFGHIJKLMNOP...ABCDEFGHIJKLMNOP"
arr=Split(s,"EFG")
for i=0 to ubound(arr)
Debug.Print arr(i)
next i

Public Function Replacer( _
ByVal sInput As String, _
Optional ByVal sReplaceFind As String = "OPACHKI", _
Optional ByVal sFirstFind As String = "EFG", _
Optional ByVal sNextFind As String = "M")
Dim arr() As String
Dim i As Integer
Dim s As String
Dim s1 As String
Dim j As Integer
Dim sResult As String
sResult = ""
arr = Split(sInput, sFirstFind)
For i = 0 To UBound(arr)
j = InStr(1, arr(i), sNextFind)
If j > 0 Then
s1 = sFirstFind & sReplaceFind & Mid$(arr(i), j)
Else
s1 = arr(i)
End If
sResult = sResult & s1
Next i
Replacer = sResult
End Function
Debug.Print Me.Replacer("ABCDEFGHIJKLMNOP...ABCDEFGHIJKLMNOP")

Dim d As String, q As String, x As Integer, bufer As String, virezat As String
Private Sub Form_Load()
d = "ABCDEFGHIJKL1MNOABCDEFGHIJKL2MNO"
x = 1
bufer = ""
virezat = ""
End Sub
Private Sub Command1_Click()
Do Until x = Len(d)
q = Mid$(d, x, 1)
MsgBox q
x = x + 1
If bufer = "EFG" Then
bufer = "EFG"
Else
bufer = bufer + q
End If
MsgBox "Буфер равен: " + bufer
If Len(bufer) = 3 And bufer <> "EFG" Then
bufer = Mid$(bufer, 2, 2)
End If
If bufer = "EFG" Then
virezat = virezat + q
If q = "M" Then
MsgBox Mid$(virezat, 2, Len(virezat) - 2)
bufer = Mid$(bufer, 2, 2)
virezat = ""
End If
End If
q = ""
Loop
End Sub


Private Sub Form_Load()
'Замена
MsgBox Replace("123456", "123", "abc")
'Проверка на допустимые символы
If Check("1234567890s", "1234567890") Then
MsgBox "В строке присутствует недопустимый символ"
End If
End Sub
Function Check(String1 As String, String2 As String) As Boolean
For N = 1 To Len(String1)
If InStr(1, String2, Mid(String1, N, 1)) = 0 Then
Check = True
Exit Function
End If
Next
End Function

s = "1234567890A0987654321B1234567890"
For i = 1 To Len(s)
If CVar(Mid$(s, i, 1)) >= 0 And CVar(Mid$(s, i, 1)) <= 9 Then
Debug.Print "Число"
Else
Debug.Print "Символ " & Trim(i) & " " & Mid$(s, i, 1)
End If
Next i

Elkatib писал(а):Блин, ещё вопросик появился... как проверить, если в строке буква.
Например, d="546333333923645A564333333"
Имеем букву "A".
Как проверить состоит ли строка только из цифр или в ней по мимо цифр есть ещё что-то???

alibek писал(а):Правда?
MsgBox IsNumeric("546333333923645A564333333")
MsgBox IsNumeric("546333333923645564333333")

kpblc писал(а):А если задуматься об обратной задаче, найти цифру в строке символов?


alibek писал(а):Nicky писал(а): IsNumeric
Правда?
If isNumeric(d) = true then
Msgbox "В поле толькое числа"
else
msgbox "В поле содержуться не допустимы символы"
ENd Ifd = "213213213213A31232A313"
q = InStr(d, "A")
If q <> 0 Then
MsgBox "Есть буква А"
Else
MsgBox "Нет буквы А"
End If
alibek писал(а):Что именно не надо?
Выражение "&h12A" по мнению IsNumeric является числовым. И даже "&012" является числовым. Автор же писал "как проверить, если в строке буква". Каким образом ему пригодится IsNumeric?

alibek писал(а):neic, если ты не понял код, так и скажи.

? isnumeric(empty)
True
? isnumeric("&habcdef")
TrueСейчас этот форум просматривают: Yandex-бот и гости: 14