Другие языки программирования и технологии

DELPHI 7!? Одна небольшая регулярка, напр. слово 24.-aurum , как разгруппировать на слово и на (не буквы)?

В общем есть много таких слов, которые начинаются не символами, а допустим как я уже приводил пример 33.-test, так вот как разгруппировать (33.-)(test), вот так, т.е. то что идет до слова test нужно как-бы не считать, а это ЛЮБЫЕ СИМВОЛЫ, которые не являются буквой, они мне не нужны вообще, мне главное само слово занести в переменную, в принципе каждое слово это начало новой строки, т.е. вот так примерно может быть:
23.-Word1 Tozhe Nado
-Drugoe Slowo
_tretje slowo
$oOUR
1Пять
"шесть
.. и т.п.

Всю возню с делфийскими RegExpr я беру на себя, т.е. мне нужна только регулярка, спасибо.
к TRegExpr прилагается вполне вменяемая русскоязычная справка с примерами использования.
Александр Алекмандр
Александр Алекмандр
32 502
Лучший ответ
Василий Федченко Я их от ...и до перечитал, там такого НЕТУ! Я конечно понимаю что нужно самому сообразить, но пока толку мало, тот же символ начала новой строки никак ни лезит
( ^[^a-zA-Zа-яА-ЯёЁ])([a-zA-Zа-яА-яёЁ]).+?
, в общем я застрял. что-то подобное нужно.
С дельфинами я вообще никак !
но могу подбросить идейку.
Все буквы и знаки имеют свой код.
Алфавит начинается с кода 65
в экселе я сделал бы так :
Поиск КОДСИМВОЛА>64 . Это и будет первый знак слова.
Ну а дальше, согласно дельфинскими законам, находишь длину слова и отнимаешь местоположения первого символа>64
Сайрап Зияев
Сайрап Зияев
93 126
Навскидку могу предложить вариант.. . довольно геморройный :) в Экселе.
Рядом с исходным столбцом последовательно прописываем формулы ПОДСТАВИТЬ - и перебираем все символы, которые мешают (для каждого символа - свой столбец рядом, а формула ссылается уже не на исходный столбец, а на предыдущий - с уже очищенными ранее рассмотренными символами. Все символы заменяем на пробелы. Символом до фига, писать много, но 256 столбцов точно хватит. Затем применяем функцию СЖПРОБЕЛЫ.

В итоге должно получиться:
В столбце B:
=ПОДСТАВИТЬ (A1;"1";" ")
В столбце C:
=ПОДСТАВИТЬ (B1;"2";" ")
В столбце D:
=ПОДСТАВИТЬ (C1;"3";" ")
и т. д.
После перебора всех символов, в соседнем столбце:
=СЖПРОБЕЛЫ (_ссылка на ячейку в столбце слева_)

Получим текст. Если затем нужно разделить слова - это проще.

Ну, либо пишем программу, которая по коду символа (простой перебор) будет либо откидывать, либо оставлять символ. На входе - файл с исходной бедлибердой, на выходе - файл только из текстовых символов. Ну, и на слова можно будет заодно разбить - менять пробел на символ переноса строки.

Что проще - решайте.

Или я не понял, и все описанное нужно сделать непременно в самой программе на дельфи?
Garik Tovmasyan
Garik Tovmasyan
30 035
Василий Федченко функцию в программе писать надо "мне", и это уже мое личное дело, я хочу только сам паттерн регулярки, excel тут ни к селу ни к месту, ресур для составления регулярок и свои примеры слов я написал в дополнении.