Rainbow » 17.03.2004 (Ср) 15:51
Если честно, я тоже не слышала...
Но будь осторожен с Filter - уничтожит все вхождения
(протестируй на строчке "2,2,1,2,11,5,1222,33,55,5,5")
Я бы написала по-другому:
- Код: Выделить всё
Dim str1 As String
Dim str2 As String
Dim sDelim As String
str1 = "2,2,1,2,11,5,1222,33,55,5,5"
str2 = "2,5"
sDelim = ","
Dim arrStr2() As String
arrStr2 = Split(str2, sDelim)
Dim i As Long, sFind As String
For i = LBound(arrStr2) To UBound(arrStr2)
sFind = arrStr2(i)
'уничтожить все внутренние вхождения
str1 = Replace(str1, sDelim & sFind & sDelim, sDelim)
'уничтожить вхождения в начале строки
If Left$(str1, Len(sFind) + Len(sDelim)) = sFind & sDelim Then
str1 = Right$(str1, Len(str1) - Len(sFind) - Len(sDelim))
End If
'уничтожить вхождения в конце строки
If Right$(str1, Len(sFind) + Len(sDelim)) = sDelim & sFind Then
str1 = Left$(str1, Len(str1) - Len(sFind) - Len(sDelim))
End If
Next
Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)