powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / поиск слова в строке по маске и замена
7 сообщений из 7, страница 1 из 1
поиск слова в строке по маске и замена
    #34591688
Smiler™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть строка "exec sp_procedure1 @param1=1, @param2=3"
параметр @param1 может быть и @param1=2 и @param1=4.....

подскажите пожалуйста каким образом найти в строке @param1=значение и заменить, например, на @param1=0.
Я так понимаю это поиск по маске. Есть ли какие стандартные функции?
...
Рейтинг: 0 / 0
поиск слова в строке по маске и замена
    #34591756
JaneDoe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а просто If'ом никак что ли?

strSQL="exec sp_procedure1 " & z2$ & ", @param2=3"
if z2$=@param1=значение then z2$="@param1=0"

если у param1 @значений много то чуть-чуть доделать

вроде же все просто... или я непонял суть вопроса?
...
Рейтинг: 0 / 0
поиск слова в строке по маске и замена
    #34591776
Smiler™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смысл немного не в том.
нужна функция аналог replace, которая бы заменила в строке "exec sp_procedure1 @param1=1, @param2=3" @param1=1 на @param1=0, только сложность в том что я не знаю какое будет @param1=значение, а таких значений может быть тысячи (if не подходит).
...
Рейтинг: 0 / 0
поиск слова в строке по маске и замена
    #34591814
Фотография gjghjc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда писать свое.
Делим строку при помощи Split в качестве разделителя можно например использовать "="
Тогда во втором элементе массива от начала строки до запятой будет находится то значение которое нужно поменять на "0" отрезаешь его затем приклеиваешь "0" и склеиеваешь всю строку воедино. Вот и все... аналогично можно сделать и для param2.
...
Рейтинг: 0 / 0
поиск слова в строке по маске и замена
    #34591873
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если использовать параметрированный запрос?

а как вы хотите, тогда примерно так

Код: plaintext
strSql = Replace(strSql, Split(strSql, "@")( 1 ), "param1=qqq, ")

I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
поиск слова в строке по маске и замена
    #34591971
Smiler™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Благодарю HandKot .
вариант рабочий.
только вопрос: как узнать в какую ячейку в масиве функция Split(strSql, "@")(1) запихнула для каждой переменной, если переменные могут стоять так: "exec sp_procedure1 @param1=1, @param2=3", а могут и так: "exec sp_procedure1 @param2=3, @param1=1"
заранее спасибо.
...
Рейтинг: 0 / 0
поиск слова в строке по маске и замена
    #34591997
Smiler™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос снят. :)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / поиск слова в строке по маске и замена
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]