powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Разбор строки
18 сообщений из 18, страница 1 из 1
Разбор строки
    #40028163
Mixon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, пытаюсь найти алгоритм для парсинга строки на части, к примеру есть ряд строк:

текст 123
123 текст2-2ю.2
текст(123) 123
123 ("текст") 123".123' 123",123' 123" 123') "текст" 123

по результату разбора хотелось бы получить список слов(текст и числа + текст+числа) а также блоки заключенные в скобки( "(","[","{","<" и соответственно замыкающие ), если не рассматривать блок то алгоритм прост, режем все по "пробелу" или любому другому спец символу, но как правильно выделять блоки, дело в том что в исходной строке символы "двойная кавычка" и "одинарная кавычка" по контексту могут и не быть началом-концом блока, а рассматриваться как посвиксы (дюймы и секунды), со скобками тоже беда есть шанс что части их не хватает(ошибки).

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

Заранее спасибо за советы.

ЗЫ шаблона для текстов нет, есть куча данных написанных как бог на душу положил(в основном в разном порядке /текст 123/ и /123 текст/ с небольшими отклонениями), пытаюсь привести все к порядку, проанализировать и выработать шаблоны, данных много ручной анализ не вариант.

ЗЫЫ задача тут для прокачки навыков.
...
Рейтинг: 0 / 0
Разбор строки
    #40028173
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сначала разбираете то, что 100% разбирается (нет в строке кавычек, например, или кавычек всегда чётное число)
потом изучаете то, что остаётся, и изобретаете алгоритм под них
например, если 1 кавычка, то делаем так, если дефис, то так
...
Рейтинг: 0 / 0
Разбор строки
    #40028467
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mixon,

ANTLR?
...
Рейтинг: 0 / 0
Разбор строки
    #40028470
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mixon,

Ты когда формулирует задачу - поставь ее максимально сухо. Без этих "хотелось бы".

А то и отвечают так. Кому хочется. Кому и нет.

Напиши от TDD. Чтоб были модульные тесты. А реализацию тебе даст форум.
...
Рейтинг: 0 / 0
Разбор строки
    #40028519
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чего там реализовывать?
Раббиш ин - раббиш оут

Ну и как это нужно разобрать
123 ("текст") 123".123' 123",123' 123" 123') "текст" 123


123
"текст") 123".123' 123",123' 123" 123') "текст"
123
?
...
Рейтинг: 0 / 0
Разбор строки
    #40028540
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
А реализацию тебе даст форум.


Не даст :)
...
Рейтинг: 0 / 0
Разбор строки
    #40028547
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
mayton
А реализацию тебе даст форум.


Не даст :)

Надо уметь правильно преподносить темы.
...
Рейтинг: 0 / 0
Разбор строки
    #40028552
Ы2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Ну и как это нужно разобрать
123 ("текст") 123".123' 123",123' 123" 123') "текст" 123?

Разобрать-то не проблема. Можно поиграть в графематический анализ: режем посимвольно с определением типа, напр.

№символтип0LWALLWALL11цифра12цифра33цифра4пробелпунктуация5(пунктуация6"пунктуация………573цифра58RWALLWALL

Проблема это интерпретировать. Будем надеяться, у автора уже созрела грамматика.
...
Рейтинг: 0 / 0
Разбор строки
    #40028565
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Надо уметь правильно преподносить темы.


Ну ток если вбросить типа "такое не реализуемо и вы, старые пердуны, это не осилите" )
...
Рейтинг: 0 / 0
Разбор строки
    #40028568
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
mayton
Надо уметь правильно преподносить темы.


Ну ток если вбросить типа "такое не реализуемо и вы, старые пердуны, это не осилите" )

Зачем? Пишется тест-кейс. Все тесты - красного цвета. Надо сделать чтоб они стали зеленые.
Тело тестов трогать нельзя. Нужно добавить реализацию.

Забавная игра получается. Всем - весело. И на собеседованиях такое иногда дают задачей.
...
Рейтинг: 0 / 0
Разбор строки
    #40028591
Mixon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый, спасибо за участие :)

Leonid KudryavtsevА чего там реализовывать?
Раббиш ин - раббиш оут

Ну и как это нужно разобрать
123 ("текст") 123".123' 123",123' 123" 123') "текст" 123


123
"текст") 123".123' 123",123' 123" 123') "текст"
123
?


не совсем так, мой вариант:
123
("текст") <- вложенный блок
123".123' <- вариант с дюймами и секундами (возможно)
123",123' <- вариант с дюймами и секундами (возможно)
123" <- вариант с дюймами и секундами (возможно)
123') "текст" 123 <-вот тут все сложно ибо вариант данных заведомо с ошибкой
...
Рейтинг: 0 / 0
Разбор строки
    #40028593
Mixon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще одно замечание, коллеги мне рассказывали. что в русском языке вполне допистимы слкдующие варианты:

текст "конфета "Красивая"
текст "текст текст"
...
Рейтинг: 0 / 0
Разбор строки
    #40028628
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Термин "возможно" - удорожает стоимость разработки этого парсерса на порядки
...
Рейтинг: 0 / 0
Разбор строки
    #40028905
Ы2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mixon
Еще одно замечание, коллеги мне рассказывали. что в русском языке вполне допистимы слкдующие варианты:
текст "конфета "Красивая"
текст "текст текст"


Коллеги еще и не то расскажут :) Приведите реальный пример как входных данных, так и разбора.
...
Рейтинг: 0 / 0
Разбор строки
    #40028922
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mixon
коллеги мне рассказывали. что в русском языке вполне допистимы :
текст "конфета "Красивая"
Гы-гы, в русском языке, Раньше было не только допустимо, но и обязательно. Ну и мало кто из прогеров это помнил после школы. Лично я помнил, но любил писать "баржа "Непотопляемая ""
Сейчас сколько прогеров, столько и вариантов.

Систематизируйте основные варианты. Или варианты ошибок. Кому кроме вас знать?
...
Рейтинг: 0 / 0
Разбор строки
    #40028928
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор так и не понял что мы просим expectations. Что должно быть на выходе при известном входе?
...
Рейтинг: 0 / 0
Разбор строки
    #40028970
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чё регулярки-то до сих пор никто не предложил?
...
Рейтинг: 0 / 0
Разбор строки
    #40028981
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
А чё регулярки-то до сих пор никто не предложил?

потому что загвоздка не в инструменте
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Разбор строки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]