У меня довольно много проблем ...
Я использую функцию VBScript REPLACE, чтобы заменить пробелы в расшифрованном поле из базы данных MS SQL на "/".
Но функция REPLACE не «видит» пробелы.
Например, если я выполню любое из следующих действий, где расшифрованное значение поля "ITF_U_ClientName_Den c" равно "Джонни Карсон":
REPLACE(ITF_U_Ledger.Fields("ITF_U_ClientName_Denc")," ","/")
REPLACE(ITF_U_Ledger.Fields("ITF_U_ClientName_Denc")," ","/")
REPLACE(ITF_U_Ledger.Fields("ITF_U_ClientName_Denc"),"Chr(160)","/")
REPLACE(CSTR(ITF_U_Ledger.Fields("ITF_U_ClientName_Denc"))," ","/")
REPLACE(ITF_U_Ledger.Fields("ITF_U_ClientName_Denc")," ","/",1,-1,1)
REPLACE(ITF_U_Ledger.Fields("ITF_U_ClientName_Denc")," ","/",1,-1,0)
Возвращаемое значение равно «Джонни Карсон» (пробел не заменен на /)
Проблема, похоже, связана исключительно с пробелами, потому что, когда я запускаю это: REPLACE (ITF_U_Ledger.Fields ("ITF_U_ClientName_Den c"), "a", "/")
Я получаю "Johnny C / rson".
Кроме того, проблема, кажется, связана исключительно с пробелами в расшифрованном значении, потому что, когда я запускаю это:
REPLACE("Johnny Carson"," ","/")
Конечно, возвращаемое значение - "Джонни / Карсон".
Я проверил, что пишется в исходный текст страницы, и это просто "Джонни Карсон" без кодировки или специальных иероглифы.
Я также попробовал функцию SPLIT, чтобы увидеть, будет ли она «видеть» пробел, но это не так.
Наконец, благодаря полезному комментарию, я попробовал VBS REGEX. поиск \ s.
Set regExp = New RegExp
regExp.IgnoreCase = True
regExp.Global = True
regExp.Pattern = "\s" 'Add here every character you don't consider as special character
strProcessed = regExp.Replace(ITF_U_Ledger.Fields("ITF_U_ClientName_Denc"), "?")
К сожалению, strProcessed перезапускает "Джонни Карсон" (ie. Пробелы не обнаружены / удалены).
Если я заменю regExp.Pattern = "a", strProcessed возвращает "Johnny" C? Rson ".
Большое спасибо за вашу помощь !!