
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.07.2018, 13:20
|
|||
|---|---|---|---|
|
|||
Парсинг строк для ленивых |
|||
|
#18+
Есть ли в стандартной Tokyo нечто, что может такую строку Код: pascal 1. разложить на компоненты? В идеале хочется увидеть такой массив Код: pascal 1. Проблема в экранирующем символе String.Split умеет парсить закавыченные строки. А экранированные нет. С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2018, 13:22
|
|||
|---|---|---|---|
Парсинг строк для ленивых |
|||
|
#18+
_Vasilisk_Есть ли в стандартной Tokyo нечто, что может такую строку Код: pascal 1. разложить на компоненты? В идеале хочется увидеть такой массив Код: pascal 1. Проблема в экранирующем символе String.Split умеет парсить закавыченные строки. А экранированные нет. С уважением, Vasilisk По-моему, написать свой быстрее, чем ждать ответа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2018, 13:22
|
|||
|---|---|---|---|
|
|||
Парсинг строк для ленивых |
|||
|
#18+
_Vasilisk_, Заменить экранированные символы на что-то типа %$$$$%, потом распарсить Split`ом ? А после сплита вернуть взад замену. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2018, 13:33
|
|||
|---|---|---|---|
|
|||
Парсинг строк для ленивых |
|||
|
#18+
DarkMasterЗаменитьДа вариантов куча. Если писать, тогда уже обычным циклом. Интересно было есть ли что-то стандартное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2018, 13:45
|
|||
|---|---|---|---|
Парсинг строк для ленивых |
|||
|
#18+
_Vasilisk_DarkMasterЗаменитьДа вариантов куча. Если писать, тогда уже обычным циклом. Интересно было есть ли что-то стандартное? Использовать нормальные компоненты/классы для работы с active directory. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2018, 13:50
|
|||
|---|---|---|---|
|
|||
Парсинг строк для ленивых |
|||
|
#18+
JaDi нормальные компоненты/классы "нормальных" классов я там не увидел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2018, 14:29
|
|||
|---|---|---|---|
Парсинг строк для ленивых |
|||
|
#18+
_Vasilisk_В идеале хочется увидеть такой массив ['CN', 'User', 'OU', 'SubDep,OU=1', 'OU', 'Dep', 'DC', 'Dom'] Не совсем понятно по какому принципу строится массив. Но первое, что приходит в голову, это: Код: pascal 1. Будут лишние пустые элементы, но для настоящих программистов это же не страшно? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2018, 14:35
|
|||
|---|---|---|---|
|
|||
Парсинг строк для ленивых |
|||
|
#18+
DimonkaНе совсем понятно по какому принципу строится массивСтрока разбивается на подстроки ра разделителю ",", а потом каждая подстрока разбивается на "имя", "значение" по "=". При этом символ "\" является экранирующим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2018, 14:53
|
|||
|---|---|---|---|
|
|||
Парсинг строк для ленивых |
|||
|
#18+
_Vasilisk_DimonkaНе совсем понятно по какому принципу строится массивСтрока разбивается на подстроки ра разделителю ",", а потом каждая подстрока разбивается на "имя", "значение" по "=". При этом символ "\" является экранирующим может тогда обычный TStringList лучше использовать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2018, 14:59
|
|||
|---|---|---|---|
|
|||
Парсинг строк для ленивых |
|||
|
#18+
haydegenTStringListУ него та же проблема, что и у String.Split. Он умеет работать с закавыченными строками, но не умеет с экранированными ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2018, 15:06
|
|||
|---|---|---|---|
Парсинг строк для ленивых |
|||
|
#18+
Поддержки Escape символов, вроде бы, нет. Не паскалевская фича. Да и задача чересчур специфическая. Если нет особых требований по скорости, я бы посоветовал долгий путь заменами: \\ => \slash\ \, => \comma\ \= => \eq\ ... split по "," подстановки все заменить на символы для каждого элемента. Либо, чуть быстрее и короче: \\ => \slash\ \, => \comma\ \= => \eq\ ... , => #0 (точно не встретится в корректной исходной строке) подстановки заменить на символы split по #0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2018, 16:05
|
|||
|---|---|---|---|
Парсинг строк для ленивых |
|||
|
#18+
Ладно.. оптимизируйте: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2018, 16:13
|
|||
|---|---|---|---|
Парсинг строк для ленивых |
|||
|
#18+
У меня свой метод "для ленивых". Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. А потом Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2018, 16:58
|
|||
|---|---|---|---|
Парсинг строк для ленивых |
|||
|
#18+
rgreatУ меня свой метод "для ленивых". который обломается на первом эскейпнутом символе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2018, 17:12
|
|||
|---|---|---|---|
Парсинг строк для ленивых |
|||
|
#18+
Василий 2, Он не для этого сделан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2040589]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
172ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 513ms |

| 0 / 0 |
