Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Visual Basic Новый топик    Ответить
 Функция Replace VBA + маска (*?)  [new]
Takayavot
Member

Откуда:
Сообщений: 133
Доброго дня!
Нужно поменять в строке значение по маске
            findstr = "Data Source=test*;"
            newstr = "Data Source=newtest;"
            retval = Replace(CONSTR, findstr, newstr, 1, 1)


Без * все работает, со звездочкой нет. Здесь не поддерживаются регулярные выражения?
31 окт 17, 12:22    [20915092]     Ответить | Цитировать Сообщить модератору
 Re: Функция Replace VBA + маска (*?)  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 19142
Нет, Replace работает только с литералами. Используйте RegExp Object.
31 окт 17, 13:01    [20915255]     Ответить | Цитировать Сообщить модератору
 Re: Функция Replace VBA + маска (*?)  [new]
Takayavot
Member

Откуда:
Сообщений: 133
Akina,
ок, спасибо!
31 окт 17, 13:25    [20915336]     Ответить | Цитировать Сообщить модератору
 Re: Функция Replace VBA + маска (*?)  [new]
Казанский
Member

Откуда:
Сообщений: 1307
Takayavot,
в этом конкретном случае можно
retval = IIf(CONSTR Like findstr, newstr, CONSTR)
31 окт 17, 15:13    [20915964]     Ответить | Цитировать Сообщить модератору
 Re: Функция Replace VBA + маска (*?)  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 19142
Казанский, и всё бы ничего, но он хочет менять только часть строки.
31 окт 17, 15:15    [20915972]     Ответить | Цитировать Сообщить модератору
 Re: Функция Replace VBA + маска (*?)  [new]
Казанский
Member

Откуда:
Сообщений: 1307
и в начало модуля
Option Compare Text
31 окт 17, 15:16    [20915977]     Ответить | Цитировать Сообщить модератору
Все форумы / Visual Basic Ответить