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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.04.2016, 09:57   #1  
demianimp is offline
demianimp
Участник
 
202 / 104 (4) +++++
Регистрация: 10.10.2013
Post strReplace для нескольких значений
Друзья, прошу посмотреть код и дать совет.

Появилась необходимость в строке заменить несколько символов.
Например: ОАО "Какая-то компания и сим'вол" , нужно ' и " заменить на `.

Первое, что приходит на ум это strReplace(strReplace()), но что делать если символов много? (больше одно уже много)

Я написал следующий метод в Global:
X++:
static str strReplaceContainer(str _str, container _fromStrCon, container _toStrCon)
{
    int     i;
    str     fromStr,
            toStr;
    ;
    if(conLen(_fromStrCon) != 0 && conLen(_toStrCon) != 0)
    {
        for(i = 1; i <= conLen(_fromStrCon); i++)
        {
            fromStr = conPeek(_fromStrCon, i);
            toStr   = conPeek(_toStrCon, i < conLen(_toStrCon) ? i : conLen(_toStrCon));

            _str = strReplace(_str, fromStr, toStr);
        }
    }

    return _str;
}
Благодаря этому методу можно заменить вот такой код
X++:
    strReplace(strReplace(strReplace(custTable.Name, '\"', '`'),'\'', '`'), '&', '_');
на
X++:
    strReplaceContainer(custTable.Name, ['\"', '\'', '&'], ['`', '`', '_']);
Теги
ax2009, strreplace

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Поррассуждаем? Как лучше работать с парой связанных значений в классах? (например, nullable) mazzy DAX: Программирование 9 11.06.2015 12:06
Универсальный изменятель значений полей wojzeh DAX: Программирование 17 26.09.2013 17:47
AX2009, Enterprise Portal, как на web странице скрыть одно из значений BaseEnum с помощью конфигурационного ключа wander721 DAX: Программирование 1 08.08.2012 01:36
Последовательная замена множества уникальных значений на другие без возникновения дубликатов gl00mie DAX: Программирование 23 24.11.2010 15:05
axaptapedia: StrReplace Blog bot DAX Blogs 0 04.02.2009 19:05

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

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

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