У меня много текстовых данных с разной структурой. Мне нужно извлечь части этих текстов на основе некоторых текстовых правил. Я бы использовал регулярные выражения , но, к сожалению, люди, которые используют приложение, никогда не слышали о нем.
В основном приложение выполняет следующие действия:
- Загрузить данные в текстовое поле
- Введите структуру вывода в виде простого набора правил в другое текстовое поле
- Получите результаты в третьем текстовом поле
Примеры структур данных (у меня есть мегабайты этих данных):
Label1: value1, measurement
Label2; value2; something else
Nr, value3 (comment)
...
Мне нужен какой-то другой подход, который я мог бы использовать вместо регулярных выражений. Это может быть очень просто, потому что все, что мне нужно, это одно значение из каждой строки.
Из приведенного выше примера я должен получить следующую структуру:
"value1, value2, value3"
Есть ли более простая альтернатива регулярному выражению? Кто-то уже реализовал что-то подобное?
Я также могу представить, что подхожу к проблеме с неправильной точки зрения, например, заставляя простого пользователя писать правила извлечения данных. В этом случае вопрос трансформируется в нечто более общее, например: «Как создать приложение, которое позволяет очень простому пользователю извлекать данные из отдельных текстов?»
Edit:
Для них реализовано следующее простейшее сопоставление:
Содержимое файла:
"Strain at break Ax2";"Unknown"
"Strain at break Ax1";"Unknown"
"Strain at break";"Unknown"
"Yield point strain";"Unknown"
"Uniform elongation";25.4087;"%"
"Tensile strength";261.323;"MPa"
"End test phase Yield point";1;"%"
"Maximum tensile force";5.22647;"kN"
Шаблон:
"Tensile strength";(?<value>[^;\n]*);
"Maximum tensile force";(?<value>[^;\n]*);
Все еще слишком сложно. Проблема в том, что если я начну заменять некрасивую часть другой строкой, получим, например:
"Tensile strength", [First value after]
Я теряю общий характер извлечения, потому что каждый файл отличается от этого.