powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Replace без учёта регистра символов
7 сообщений из 7, страница 1 из 1
Replace без учёта регистра символов
    #37782978
zenk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Работаю в PowerDesigner, он позволяет использовать скрипты на Visual Basic.

Есть в базе данных таблица, она, в частности, характеризуется двумя параметрами - Code (системное имя таблицы в базе данных), например LIST_OF_EMPLOYEES,
и Name, которое поясняет назначение таблицы для неподготовленного пользователя, например, "Справочник сотрудников".

Поскольку PowerDesigner не позволяет ОДНОВРЕМЕННО отображать Code и Name,
Name может вводиться как
"Справочник сотрудников LIST_OF_EMPLOYEES",
или как "Справочник сотрудников List_Of_Employees",
или как "Справочник сотрудников List_of_Employees".

Стоит задача из поля Name вырезать Code независими от регистра, в котором оно было когда-то введено в поле Name.

Replace(Name, Code, "") не находит вхождений при несовпадении регистра.

Не в цикле же обрабатывать строку с позиции InStr(UCase(Name), UCase(Code))
(оставим такую возможность на самый крайний случай).

Не поможете?
...
Рейтинг: 0 / 0
Replace без учёта регистра символов
    #37782999
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может просто поиск с конца до первого пробела? Ведь имя таблицы не может содержать пробелов?
...
Рейтинг: 0 / 0
Replace без учёта регистра символов
    #37783080
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> zenk
> Replace(Name, Code, "") не находит вхождений при несовпадении регистра.

Находит, надо только попросить
Код: vbnet
1.
2.
?replace("Справочник сотрудников List_of_Employees","LIST_OF_EMPLOYEES","", , ,1)
Справочник сотрудников 
...
Рейтинг: 0 / 0
Replace без учёта регистра символов
    #37783123
zenk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скукотища,

К сожалению, в моём диалекте VB это не проходит:

Код: vbnet
1.
Name = Trim(Replace(Name, Code, ""))


отрабатывает нормально (все вхождения, если они совпали по регистру символов, заменяются), а

Код: vbnet
1.
Name = Trim(Replace(Name, Code, "", , ,1)) 


выдаёт:
Ошибка выполнения Microsoft VBScript
Несоответствие типа (0x800A000D)
At line 57, character 16

К сожалению, не смог найти, какая версия VB включена в PowerDesigner в качестве встроенного редактора скриптов.

Нашёл только вот это упоминание:

авторYou can access PowerDesigner objects using any scripting language such as Java, VBScript or C# (C Sharp). However, the scripting language used to illustrate our examples in this chapter is VBScript.

VBScript is a Microsoft scripting language. PowerDesigner provides integrated support for Microsoft VBScript so that you can write and run scripts to interact with metamodel objects in a development environment using properties and methods .
...
Рейтинг: 0 / 0
Replace без учёта регистра символов
    #37783139
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zenk,

А в Вашей версии VB "Option Compare Binary" проходит?
...
Рейтинг: 0 / 0
Replace без учёта регистра символов
    #37783174
zenk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скукотища, studieren

Большое спасибо!

Подтолкнули к правильному решению:

Код: vbnet
1.
Name = Trim(Replace(Name, Code, "", 1, -1, 1))



Ещё раз спасибо
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Replace без учёта регистра символов
    #39346319
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бойцы парили несколько лет мне мозг, что вба-ёхель не заменяет построку без учета регистра
ща уже сам залез и шо я увидел :)
Код: vbnet
1.
s = Replace(s, ParName(i), ParVal(i), vbTextCompare)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Replace без учёта регистра символов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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