Дана фраза. Определить имеются ли в ней числа, состоящие из одной цифры. - VB
Формулировка задачи:
Дана фраза. Определить имеются ли в ней числа, состоящие из одной цифры.
Решение задачи: «Дана фраза. Определить имеются ли в ней числа, состоящие из одной цифры.»
textual
Листинг программы
Sub Main()
Dim strTemp As String, arrTemp() As String, i As Integer, j As Integer
Dim strDelims As String, arrDelims() As String
Dim strDigDelim As String, strPlainDelim As String
If IsNumeric("1,") Then
strDigDelim = ",": strPlainDelim = "."
Else
strDigDelim = ".": strPlainDelim = ","
End If
strDelims = strPlainDelim & " : ; ! ? - ( ) < > [ ] { } + - = % ^ / \ | """ 'можно что-то добавить или удалить
arrDelims = Split(strDelims)
strTemp = Trim(InputBox("Фраза:", , "В 10-м ящике яблок 72, а груш 4,2 десятка."))
If Len(strTemp) > 0 Then
arrTemp = Split(strTemp)
For i = 0 To UBound(arrTemp)
If IsNumeric(arrTemp(i)) Then
If Len(arrTemp(i)) > 1 Then
arrTemp(i) = Replace(Replace(Replace(arrTemp(i), "+", ""), "-", ""), strDigDelim, "")
End If
Else
strTemp = Replace(arrTemp(i), strPlainDelim, strDigDelim)
If IsNumeric(strTemp) Then
arrTemp(i) = Replace(strTemp, strDigDelim, "")
Else
For j = 0 To UBound(arrDelims)
strTemp = Replace(strTemp, arrDelims(j), " ")
Next
arrTemp(i) = strTemp
End If
End If
Next
arrTemp = Split(Join(arrTemp, " ")): strTemp = vbNullString
For i = 0 To UBound(arrTemp)
If IsNumeric(arrTemp(i)) Then If Len(arrTemp(i)) = 1 Then strTemp = strTemp & arrTemp(i) & vbNewLine
Next
If Len(strTemp) > 0 Then
MsgBox "Найдено:" & vbNewLine & strTemp
Else
MsgBox "Ничего подходящего не найдено."
End If
End If
End Sub