MyTetra Share
Делитесь знаниями!
Чистка строки от "мусора" по списку, переданному через массив
Время создания: 16.03.2019 23:43
Текстовые метки: Trimб Application.Clean
Раздел: Разные закладки - VBA - Access - msa.polarcom.ru - 13 Преобразование Строк
Запись: xintrea/mytetra_db_adgaver_new/master/base/1532018270kh9jpez27e/text.html на raw.githubusercontent.com

Чистка строки от "мусора" по списку, переданному через массив

Пример использования функции:

Arr0(i, 1) = Trim(Application.Clean(Arr0(i, 1)))

Dim i%, s$

Dim ch() As Variant 'массив


i = CInt(TB_SelLength)

If i > 30 Then i = 30

s = Mid(Me!txtTextField, 1, i) 'взяли строку из поля

'Создаём массив из подлежащего удалению из строки перечислением через запатую:

'(Поясню: тут, в начале символ перевода строки, а в конце ТРИ пробела подряд)

ch = Array(vbCrLf, ".", ",", ":", ";", "?", "!", "(", ")", " ")


'Очищаем от перечисленного выше с заменой на пробел

Me!txtSearch = CleanStrByArray(s, ch, " ")



Функция:

Public Function CleanStrByArray(sString$, vArr() As Variant, Optional sReplace$ = "") As String

'es 29.07.2016

'Чистка строки от "мусора" по списку, переданному через массив (vArr)

'Возвращает очищенную строку

'Удобно когда необходимо почистить строчку от нескольких вариантов вхождений

'--------------------------------------------------------------------------

'Аргументы:

' sString - Очищаемая строка

' vArr - массив заменяемого

' sReplace - Опциональный - На что это всё меняем (по умолчанию "")

'--------------------------------------------------------------------------

Dim i%, sSearch$, sReturn$


On Error GoTo CleanStrByArray_Err

sReturn = sString

For i = LBound(vArr) To UBound(vArr)

sSearch = vArr(i)

sReturn = Replace(sReturn, sSearch, sReplace, 1) 'убираем

Next i

CleanStrByArray = Trim(sReturn)


CleanStrByArray_Bye:

Exit Function


CleanStrByArray_Err:

CleanStrByArray = ""

MsgBox "Ошибка " & Err.Number & vbCrLf & Err.Description & vbCrLf & "в процедуре: CleanStrByArray", vbCritical, "Error in module modSearchInTextBox"

Resume CleanStrByArray_Bye

End Function




Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования