объединение короткого текстового фрагмента в длинное предложение [closed]

Я хотел бы поместить небольшие фрагменты текста в длинное предложение, например, следующее

Предложение Input_full

TRSTUVWSRTPSAREWSTRESW 

список коротких фрагментов

TRST 
RESW

Выход

Я хочу, чтобы выходные данные были такими, чтобы везде, где совпадают короткие фрагменты, он может быть виден и помещен точно под длинным предложением

TRSTUVWSRTPSAREWSTRESW 
||||              |||| 
TRST              RESW
0
задан 17 January 2017 в 08:40

1 ответ

С некоторым Python:

#! /usr/bin/python3

import sys

textfile = 'input.txt'
patfile = 'patterns.txt'

with open(textfile) as text:
    with open(patfile) as pat:
        patterns = [line.strip() for line in pat]

        for line in text:
            line = line.strip()
            print(line)
            out = line[:]
            for p in patterns:
                out = out.replace(p, '|'*len(p))
            print(''.join(v if v == '|' else ' ' for v in out))
            print(''.join(line[k] if v == '|' else ' ' for k, v in enumerate(out)))

По существу, это делает для каждой строки во входном файле:

  1. Печать строка, и делает копию.
  2. Для каждого шаблона, замените случаи шаблона в соответствии с | в копии.
  3. Затем это печатает копию со всем кроме | замененный пробелами.
  4. Затем это печатает символ исходной строки везде, где | происходит в копии или располагает с интервалами иначе.

я предполагаю, что шаблоны фиксируются строка, которые не содержат |.

1
ответ дан 7 November 2019 в 03:48

Другие вопросы по тегам:

Похожие вопросы: