Строковые функции. Преобразовать строку - VB

Формулировка задачи:

Дана текстовая строка, состоящая из букв и цифр. Преобразовать строку, удалив из каждой группы идущих подряд цифр, в которой более двух цифр и которой предшествует точка, вce цифры, начиная с третьей (например, (ab+0.1973—1.1 преобразуется в ab+0.19—1.1).

Код к задаче: «Строковые функции. Преобразовать строку - VB»

textual
Option Explicit
 
Private Sub Form_Load()
    Dim i As Long, s As String, p As Long
    s = "ab+0.1973-1.1+sf*.2345232+0.324+0.32-dff"
    i = 1
    Do While i < Len(s) - 2
        If p Then
            If Not Mid$(s, i, 1) Like "#" Then
                s = Left$(s, p) & Mid$(s, i): i = p + 1: p = 0
            End If
        Else
            If Mid$(s, i, 3) Like ".##" Then i = i + 2: p = i
        End If
        i = i + 1
    Loop
End Sub

14   голосов, оценка 4.214 из 5


СОХРАНИТЬ ССЫЛКУ