AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.12.2009, 12:17   #1  
tolstjak is offline
tolstjak
Участник
 
440 / 16 (1) ++
Регистрация: 05.01.2003
Удаление кавычек из строки
Здравствуйте уважаемые.

Есть строки.
Пример:
1. Накладная возврата «798_07.04.04» от 07.04.2004
2. Накладная по 798_07.04.04 от 07.04.2004

Расположение выделяемого значения может быть любое.
Необходимо к примеру выделить из этих двух строк - 798_07.04.04.
Не могу сообразить как избавиться от кавычек.
Подходит фукция StrRem, но как ей указать что надо удалить кавычки?
Сообразить не могу.

Заранее благодарен
__________________
Александр
Старый 20.12.2009, 19:23   #2  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Ограничителями строки в X++ могут быть либо двойные, либо одинарные кавычки. В Вашем случае используйте одинарные кавычки (добавлены пробелы для лучшего восприятия):

strRem(' "798_07.04.04" ', ' " ')
Старый 20.12.2009, 19:53   #3  
tolstjak is offline
tolstjak
Участник
 
440 / 16 (1) ++
Регистрация: 05.01.2003
Цитата:
Сообщение от Gustav Посмотреть сообщение
Ограничителями строки в X++ могут быть либо двойные, либо одинарные кавычки. В Вашем случае используйте одинарные кавычки (добавлены пробелы для лучшего восприятия):

strRem(' "798_07.04.04" ', ' " ')
Такое уже пробовал:
k1 = StrScan(str2, ' " ' , 1, StrLen(str2));
inv3 = StrRem(str2, ' " ');
В первом случае k1 = 0
Во втором случае строка остается прежней: «798_07.04.04»
Может быть надо как-то по другому или настройки Виндовс виноваты?
__________________
Александр
Старый 20.12.2009, 20:24   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,326 / 3556 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Чего-то не понимаю....

Вот джоб
X++:
static void Job5(Args _args)
{
    str s = 'Привет "AxForum"';
    ;
    info(s);
    info(strrem(s, '"'));
}
Вот результаты его исполнения - все работает...
Название: Безымянный.jpg
Просмотров: 626

Размер: 18.3 Кб

DAX 4.0 SP2
__________________
Возможно сделать все. Вопрос времени
Старый 20.12.2009, 21:44   #5  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от tolstjak Посмотреть сообщение
Такое уже пробовал:
k1 = StrScan(str2, ' " ' , 1, StrLen(str2));
inv3 = StrRem(str2, ' " ');
В первом случае k1 = 0
Во втором случае строка остается прежней: «798_07.04.04»
Может быть надо как-то по другому или настройки Виндовс виноваты?
а ничего что там пробелы вокруг двойной кавычки в вашем втором параметре?
X++:
inv3 = StrRem(str2, '_"_');
К тому же насколько я понимаю с точки зрения кодировки символы « и " - это разные вещи, может в этом дело?
__________________
Zhirenkov Vitaly
Старый 21.12.2009, 09:40   #6  
Weez is offline
Weez
Участник
Axapta Retail User
 
250 / 84 (3) ++++
Регистрация: 18.01.2006
Адрес: Moscow city
Вместо конструкции '"'можно использовать Num2Char(34)
__________________
Существует 10 типов людей: одни понимают двоичную систему, другие - нет.
Старый 21.12.2009, 09:57   #7  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
В общем, tolstjak, ввели Вы нас всех в заблуждение Ваши угловые кавычки ничего общего не имеют ни с одинарными, ни с двойными. Поэтому совершенно непонятно, откуда возникла проблема, как указать эти угловые кавычки функции strRem:
X++:
static void Job5(Args _args)
{
    str s = "«798_07.04.04»";
    ;
    info(s);
    info(strrem(s, "«»"));
}
Старый 21.12.2009, 09:59   #8  
tolstjak is offline
tolstjak
Участник
 
440 / 16 (1) ++
Регистрация: 05.01.2003
Цитата:
Сообщение от ZVV Посмотреть сообщение
а ничего что там пробелы вокруг двойной кавычки в вашем втором параметре?
X++:
inv3 = StrRem(str2, '_"_');
К тому же насколько я понимаю с точки зрения кодировки символы « и " - это разные вещи, может в этом дело?
Вместо:
k1 = StrScan(str2, ' " ' , 1, StrLen(str2));
inv3 = StrRem(str2, ' " ');

Сделал:
k1 = StrScan(str2, '«', 1, StrLen(str2));
inv3 = StrRem(str2, '«»');

И все заработало. Кавычки взял из Карты символов.
Всем большое спасибо за помощь.
__________________
Александр
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Цветные строки в Grid Sergo DAX: База знаний и проекты 14 19.04.2012 10:02
При создании строки в закупке статус строки становится "Отменено" AlexUnik DAX: Функционал 4 27.09.2004 16:05
Удаление строки журнала ATimTim DAX: Программирование 7 05.08.2004 13:49
Разрешить удаление заказа ArturK DAX: Программирование 12 30.03.2004 00:56
Функция "Удалить строки" Oks DAX: Функционал 1 03.07.2002 18:09

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:27.