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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.02.2015, 13:37   #1  
Sy4a is offline
Sy4a
Участник
 
33 / 12 (1) ++
Регистрация: 17.09.2014
Замена символа в строке
Необходимо в обыкновенной строке заменить символ @ на /.
dsa=new textbuffer();
dsa.appendText(b);
dsa.replace('@','/');
b=dsa.getText();
info('обозначение='+b);
Выводит пустаю стркоу, что я делаю не так? или может без текстбаффера это можно какнито сделать?
Старый 19.02.2015, 13:46   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
strReplace
Старый 19.02.2015, 14:11   #3  
Sy4a is offline
Sy4a
Участник
 
33 / 12 (1) ++
Регистрация: 17.09.2014
Не принимает. Сделал поиск в АОТ ничего не нашел похожего
Старый 19.02.2015, 14:17   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
X++:
static void JobTestStrReplace(Args _args)
{
    str s = "Hello@World@@@";

    s = strReplace(s, "@", "/");
    
    info(s);
}
За это сообщение автора поблагодарили: Sy4a (1).
Старый 19.02.2015, 14:41   #5  
Sy4a is offline
Sy4a
Участник
 
33 / 12 (1) ++
Регистрация: 17.09.2014
Огромное спасибо, черз текстбаффер тоже работает ошибка была выше в тексте программы), но воспользуюсь вашим способом, странно только что в АОТе найти не смог(
Старый 19.02.2015, 14:43   #6  
Sy4a is offline
Sy4a
Участник
 
33 / 12 (1) ++
Регистрация: 17.09.2014
Кстати а не подскажите как найти в строке пробели и удалить всё после него
вот так не получается:
for (i=0; i<=strlen(arh_name);i++)
{n=strfind(arh_name,' ',1,strlen(arh_name));
arh_name=strdel(arh_name,n,strlen(arh_name));}
Старый 19.02.2015, 14:58   #7  
axm2013
Гость
 
n/a
Цитата:
Сообщение от Sy4a Посмотреть сообщение
Кстати а не подскажите как найти в строке пробели и удалить всё после него
вот так не получается:
for (i=0; i<=strlen(arh_name);i++)
{n=strfind(arh_name,' ',1,strlen(arh_name));
arh_name=strdel(arh_name,n,strlen(arh_name));}
А зачем вам for ?
Вы хотите удалить после первого пробела или после последнего или как?
Если после первого то for не нужен
Если после последнего то написано некорректно и работать не будет
arh_name = "строка1 строка2 строка3"
после первого прохода
arh_name = "строка1"

Последний раз редактировалось axm2013; 19.02.2015 в 15:02.
Старый 19.02.2015, 15:00   #8  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
X++:
static void JobSplitString(Args _args)
{
    str text = "test  long string ";
    str firstWord;

    [firstWord] = str2con(text, ' ');
    info (firstWord);
}
__________________
За это сообщение автора поблагодарили: Sy4a (1).
Старый 19.02.2015, 15:08   #9  
honest is offline
honest
Участник
 
5 / 13 (1) ++
Регистрация: 19.09.2012
Можно воспользоваться регулярными выражениями:
X++:
System.String   string = "  В    этой    строке    много    пробелов.   ";
    str             result;
    ;

    new InteropPermission(InteropKind::ClrInterop).assert();
    
    string = System.Text.RegularExpressions.Regex::Replace(string, '\\s+',  ' ');
    result = string.ToString();

    CodeAccessPermission::revertAssert();
Старый 19.02.2015, 15:14   #10  
Sy4a is offline
Sy4a
Участник
 
33 / 12 (1) ++
Регистрация: 17.09.2014
Спасибо то что нужно в жизнь бы сам не нашел)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Корректировка налога по строке закупки АХ2009 AEG DAX: Функционал 4 06.06.2012 13:53
Последовательная замена множества уникальных значений на другие без возникновения дубликатов gl00mie DAX: Программирование 23 24.11.2010 15:05
2 Идентичных кода, 2 идентичных шрифта = 2 разных символа HorrR DAX: Программирование 14 10.06.2009 16:26
удвоение служебного символа \ в строке Miktel DAX: Программирование 7 22.09.2004 21:13
Скидка по строке и многострочная скидка efim DAX: Функционал 0 18.06.2003 16:32

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

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

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