TrimEx

VladSh

начинающий
Lotus Team
11.12.2009
1 797
158
BIT
232
Visual Basic:
%REM
    Function TrimEx
    Description: расширенная обрезка некоторых спецсимволов по обеим сторонам строки
    В отличие от штатной удаляет в т.ч. нулевой символ, символы переводов строк и неразрывный пробел;
    учитываются также любые их комбинации
%END REM
Public Function TrimEx(ByVal sValue As String) As String
    If Len(sValue) <> 0 Then
        Dim l As Long, i As Long, k As Long
        Dim smb As Variant
       
        'удаление хвостовой части
        l = Len(sValue)
        i = l
        Do
            smb = Asc(Mid$(sValue, i, 1))
            Select Case smb
            Case 0, 9, 10, 13, 32, 160:
                k = k + 1
            Case Else:
                Exit Do
            End Select
            i = i - 1
        Loop While i <> 0
        If k <> 0 Then sValue = Left(sValue, l - k)
       
        If Len(sValue) <> 0 Then
            'удаление головной части
            l = Len(sValue)
            i = 0
            k = 0
            Do
                i = i + 1
                smb = Asc(Mid$(sValue, i, 1))
                Select Case smb
                Case 0, 9, 10, 13, 32, 160:
                    k = k + 1
                Case Else:
                    Exit Do
                End Select
            Loop
            If k <> 0 Then sValue = Right(sValue, l - k)
        End If
    End If
   
    TrimEx = sValue
End Function
 
Последнее редактирование:
  • Нравится
Реакции: garrick, NetWood и alexas1
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!