24.04.2008, 10:42 | #1 |
Участник
|
Разбор строк
Доброе утро!!! Опять я обращаюсь к вам на форум с вопросом в надежде на ценный совет... Подскажите, пожалуйста, можно ли в Axapt’е (3.0) разобрать строку (str) на символы и работать с КАЖДЫМ символом (например, различать символы «буква – число»)? Как лучше это реализовать: на стороне Axapt’ы (в случае, если такое все-таки возможно) или на стороне FastReport, с помощью которого происходит вывод на печать? Направьте, пожалуйста, мою мысль в нужное русло J Спасибо всем заранее!
|
|
24.04.2008, 11:03 | #2 |
Участник
|
Так не подойдет?
X++: container str2charcon(str s) { int i; container ret; ; for (i=1;i<=strlen(s);i++) { ret += substr(s,i,1); } return ret; } |
|
24.04.2008, 11:06 | #3 |
Участник
|
Выделить символ можно с помощью стандартной функции substr,
определить является ли буква числом можно с помощью функции strNFind: X++: !strNFind(_str, '0123456789', 1, strlen(_str)) |
|
24.04.2008, 14:11 | #4 |
Участник
|
Спасибо огромное всем за подсказки! Все отлично работает - это как раз то, что мне и было нужно!
|
|
04.05.2008, 09:08 | #5 |
Участник
|
В целом думаю было бы правильно использовать уже существующие функции как например
X++: static container str2con_RU(str _string, str _separator = ",") { container con; int pos, oldPos = 1; do { pos = strScan(_string, _separator, pos ? pos + strLen(_separator) : 1, strLen(_string)); con += subStr(_string, oldPos, pos ? pos - oldPos : strLen(_string) + 1 - oldPos); oldPos = pos + strLen(_separator); } while (pos); return con; }
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. |
|
Теги |
ax3.0 |
|
|