Основы офисного программирования и язык VBA

       

Удаление подстроки


Удаление вхождений подстроки в строку также является одной из основных операций над строками. Хотя специальной встроенной функции DelStr не появилось, но написать ее реализацию, имея Replace, совсем просто. Удалить подстроку эквивалентно замене ее пустой подстрокой. Вот текст, написанной нами функции DelStr:

Public Function DelStr(ByVal Expr As String, ByVal find As String, _ Optional ByVal start As Long = 1, Optional ByVal count As Long = -1, _ Optional ByVal compare As VbCompareMethod = vbBinaryCompare)

'Вызов функции MyReplace с пустой строкой для замены DelStr = MyReplace(Expr, find, "", start, count, compare) End Function

Приведем результаты ее вызовов в окне отладки:

? DelStr("T* + U** - V*","*") T + U - V ? DelStr("T* + U** - V*","*",5) T* + U - V ? DelStr("T* + U** - V*","*",5,1) T* + U* - V*

Заметьте, при определении DelStr мы предпочли пользоваться собственной модификацией MyReplace, поскольку, как нам кажется, она в большей степени отвечает сути дела.



Содержание раздела