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
Последнее редактирование: