Это не оптимизированное решение.
Если первый символ каждой строки в желаемом выводе должен всегда быть числом, за которым следует пробел, то ваша проблема может быть разбита на выявление шаблон, а затем написание кода для объединения строк до следующего шаблона.
регулярное выражение для определения числа в начале строки: ^'[0-9]{2,3,4}
регулярное выражение будет искать одно, два, три или четыре числа di git. Обратите внимание на пробел после }
, который гарантирует, что мы смотрим на правильный шаблон. Это регулярное выражение будет работать для
'2 VERFEN 100MCG NO11909 - Verve AMPO 1.00 47.70 0.00 47.70 47.70\n',
'INJECTION 2ML 28/02/202 ULE\n',
'(FENTANYL) 2 HEGCUNIE\n',
'VERVE\n'
, но не для
'2 VERFEN 100MCG NO11909 - Verve AMPO 1.00 47.70 0.00 47.70 47.70\n',
'INJECTION 2ML 28/02/202 ULE\n',
'(FENTANYL) \n',
'2 HEGCUNIE\n',
'VERVE\n'
Два 2 будут рассматриваться отдельно.
Ваша логика c в коде может выглядеть примерно так -
- Объявить временную строковую переменную
- Выполнить 3-5 до конца файла
- Чтение каждой строки в файле
- Если шаблон соответствует строке , то 1. записать временную строковую переменную в новый файл, 2. очистить временную строковую переменную .
- Удалите
\n,'
с конца и объедините строку во временную строковую переменную
Возможно, вы захотите обработать первую запись в файл, если вы не хотите, чтобы первая строка как пустой.