Как восстановить расщепленное слово, удалив дефис "-" из-за переноса в абзаце с использованием Python - PullRequest
0 голосов
/ 03 сентября 2018

простой пример: функциональный -> функциональный

История в том, что я получил документ Microsoft Word, который конвертируется из формата PDF, и некоторые слова остаются через дефис (например, функциональный , прерван из-за разрыва строки в PDF). Я хочу восстановить эти разбитые слова, в то время как нормальные слова (то есть "-" не для переноса слов) сохраняются.

Для большей ясности добавлен один длинный пример (исходный текст):

После симпозиума Фонд и руководящая группа FCF продолжили свою работу и создали Функциональный Check Flight Compendium. Этот сборник содержит информацию, которая может быть использована для снижения риска функциональных проверок полетов. Информация, содержащаяся в руководстве, носит общий характер, и, возможно, ее необходимо будет скорректировать в соответствии с вашим конкретным самолетом. Если есть какие-либо вопросы по какой-либо информации в comppendi-um , обратитесь к производителю для получения дальнейших указаний.

Может кто-нибудь дать мне несколько советов по этой проблеме?

1 Ответ

0 голосов
/ 03 сентября 2018

Я бы использовал регулярное выражение. Этот маленький скрипт ищет слова с дефисами и заменяет дефисы ничем.

import re


def replaceHyphenated(s):
    matchList = re.findall(r"\w+-\w+",s) # find combination of word-word 
    sOut = s
    for m in matchList:
        new = m.replace("-","")
        sOut = sOut.replace(m,new)
    return sOut



if __name__ == "__main__":

    s = """After the symposium, the Foundation and the FCF steering team continued their work and created the Func-tional Check Flight Compendium. This compendium contains information that can be used to reduce the risk of functional check flights. The information contained in the guidance document is generic, and may need to be adjusted to apply to your specific aircraft. If there are questions on any of the information in the compendi-um, contact your manufacturer for further guidance."""    
    print(replaceHyphenated(s))

вывод будет:

После симпозиума Фонд и управляющая команда FCF продолжили свою работу и создали функциональный контрольный полет Компендиум. Этот сборник содержит информацию, которая может быть использована для снизить риск функциональной проверки рейсов. Информация, содержащаяся в руководящем документе является общим, и, возможно, потребуется скорректировать применить к вашему конкретному самолету. Если есть вопросы по любому из информация в сборнике, свяжитесь с вашим производителем для получения дополнительной информации руководство.

Если вы не привыкли к RegExp, я рекомендую этот сайт: https://regex101.com/

...