Замена нескольких символов с строке

Программирование на Visual Basic for Applications
krez0n
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 16.02.2007 (Пт) 10:51

Замена нескольких символов с строке

Сообщение krez0n » 23.02.2007 (Пт) 9:43

Нужно в строке поменять несколько разных символов на один общий. Не хочется делать несколько раз Replace. К примеру: заменить все #, <, >, на пробел. Можно ли как-то реализовать это? Все это нужно сделать средствами VBA для 2003 офиса

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 23.02.2007 (Пт) 10:49

например так:

Код: Выделить всё
Function ClearName(ByVal strText As String, ByVal strPattern As String, ByVal strReplacement As String) As String
    Dim RegExp As Object
    Set RegExp = CreateObject("vbscript.regexp")
    With RegExp
        .Pattern = strPattern
        .Global = True
        ClearName = .Replace(Trim(strText), strReplacement)
    End With
End Function

Sub Test()
    MsgBox ClearName("P##rover>ka Prov#e>r<<<ka#", "[#<>]", "")
End Sub
Привет,
KL

Krasnaja Shapka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 87
Зарегистрирован: 26.10.2006 (Чт) 12:13
Откуда: Киев

Сообщение Krasnaja Shapka » 23.02.2007 (Пт) 18:12

афигеть... KL, а не могли бы вы рассказать КАК оно работает??!
т.е. я попробовал... оно отлично работает, я вот только не могу понять в каком месте это делается? :) что такое vbscript.regexp? что делает replace от двух аргументов... он ведь меняет первый аргумент на второй?... колдовство какое-то...
Если ясность вашего объяснения исключает ложное толкование, все равно кто-то поймет вас неправильно.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.02.2007 (Пн) 8:57

Ключевое слово - regexp. Поиск по "regular expressions" (или "регулярные выражения") позволит получить алкаемое.
Lasciate ogni speranza, voi ch'entrate.

Krasnaja Shapka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 87
Зарегистрирован: 26.10.2006 (Чт) 12:13
Откуда: Киев

Сообщение Krasnaja Shapka » 26.02.2007 (Пн) 15:36

спс... нашел... кому надо: тут в разных полезностях - http://vb.hut.ru/vb_tutor_rus.chm
Если ясность вашего объяснения исключает ложное толкование, все равно кто-то поймет вас неправильно.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 75

    TopList