Страница 2 из 3
Сплит строки по пробелу или табуляции
Добавлено: 15 Июнь 2017, 21:27
Yufil
Перебирать. Или сделать для поиска дополнительно обычную строку в качестве параметра. Но у тебя, похоже, не те объёмы, из-за которых стоит страдать

. Мне приходилось разбирать и преобразовывать несколько сотен HTML-файлов килобайт по 200 в кодировке UTF-32, первично разборка каждого файла шла несколько секунд, вот тут пришлось извращаться. А пару лет назад переписал (для другой задачи) на Python, используя пакет Beautiful Soup - со свистом... Кстати, для твоих данных эта конвертация на Python в худшем случае строк 10 займёт ...
Сплит строки по пробелу или табуляции
Добавлено: 16 Июнь 2017, 3:43
Admin
Yufil писал(а): 15 Июнь 2017, 21:27Но у тебя, похоже, не те объёмы
Да. Что то я думал будет тормозить. Но пока все очень быстро работает.
Сплит строки по пробелу или табуляции
Добавлено: 17 Июнь 2017, 8:08
Admin
Yufil писал(а): 15 Июнь 2017, 21:27Кстати, для твоих данных эта конвертация на Python в худшем случае строк 10 займёт ...
Да я начал сначала писать на PHP но что то не туда уплыл... решил на Clarion писать.
Сплит строки по пробелу или табуляции
Добавлено: 29 Июнь 2017, 12:31
kreator
Случайно нашёл. Есть такой класс SystemStringClass, в нём есть метод Split. По описанию, вроде делает то, что просите. Правда, не нашёл его (метода) использования.
Сплит строки по пробелу или табуляции
Добавлено: 29 Июнь 2017, 12:42
Admin
Ага, спасибо. Готовых классов в ABC море но разбираться как их использовать ... иногда проще самому.
Да это не совсем верный подход.
Сплит строки по пробелу или табуляции
Добавлено: 29 Июнь 2017, 14:45
kreator
Плохо то, что в хелпе найти нужное нереально. Ребята худо-бедно что-то пишут, а мы не знаем. Конечно, нет ресурсов плотно изучать все изменения от билда к билду. Надежда только на хелп. Я искал что-то своё и случайно наткнулся на слово split. Вспомнил, что было недавно обсуждение. Посмотрел повнимательней - ага, есть такое дело.
Сплит строки по пробелу или табуляции
Добавлено: 29 Июнь 2017, 14:57
Yufil
В Libsrc много сплитов. Правда, в основном имя файла сплитуют на части: диск-каталог-имяфайла.
А класс вроде интересный ....
Сплит строки по пробелу или табуляции
Добавлено: 29 Июнь 2017, 15:25
Admin
Yufil писал(а): 29 Июнь 2017, 14:57А класс вроде интересный ....
Я бы сказал огромный функционал в нем
Посмотрим.
Сплит строки по пробелу или табуляции
Добавлено: 29 Июнь 2017, 23:54
Shur
Извиняюсь, что поздновато откликаюсь.
IMHO, самым простым и оптимальным для решения первоначальной задачи было бы воспользоваться сишной функцией StrTok (прототип находится в файле CLIB.CLW, ну или в cbrowse.clw -- на выбор).
Сплит строки по пробелу или табуляции
Добавлено: 30 Июнь 2017, 2:06
Admin
Shur писал(а): 29 Июнь 2017, 23:54сишной функцией StrTok
Спасибо. Не сишники мы. Функций не знаем

Сплит строки по пробелу или табуляции
Добавлено: 30 Июнь 2017, 9:25
Shur
Дык это только функция сишная, а использование вполне себе кларионовское (привожу из cbrowse.clw):
Код: Выделить всё
szSortStr = pSort
! Second, extract each of the Sort token
szToken = StrTok(address(szSortStr), address(szDelim))
loop while szToken <> ''
TokenQ.Token = szToken
add(TokenQ)
szToken = StrTok(0, address(szDelim))
end

Сплит строки по пробелу или табуляции
Добавлено: 30 Июнь 2017, 10:16
Admin
Да понятно все ребят. Нашел описание и уже протестил на Кларионе. Все делает что нужно.
Я уже написал программу под которую вопросы задавал. Что то менять пока смысла нет.
Для общего развития принял все советы к вниманию.
p.s. На сегодня только
этот вопрос подвис. И
даже бурги молчат
Сплит строки по пробелу или табуляции
Добавлено: 30 Июнь 2017, 12:11
kreator
Admin писал(а): 30 Июнь 2017, 10:16И даже бурги молчат
Ещё бы спросили - "В SV разработчики вообще есть?"

.
Сплит строки по пробелу или табуляции
Добавлено: 30 Июнь 2017, 12:22
Yufil
Дык, это концептуально. Если мы хотим, чтобы при уничтожении объекта ликвидировались все ссылки на оный, нужна другая семантика ссылок, в том числе счётчик ссылок, сборка мусора и т д. Ровно то же имеет место быть практически везде, где есть такие ссылки.
В Python, например, деструктор объекта вообще не сработает, если на него указывает какая-либо живая ссылка. Вот когда объект и ссылки на него попадут в мусор - тогда со всем нашим удовольствием, сборщик мусора приберёт. Или есть мягкая ссылка (weakref), она действительно обнуляется при уничтожении объекта.
Сплит строки по пробелу или табуляции
Добавлено: 30 Июнь 2017, 13:18
Admin
kreator писал(а): 30 Июнь 2017, 12:11В SV разработчики вообще есть?
Блинн, ну C10 не из воздуха же появляется
