Как убрать пробел между английскими словами после извлечения из pdfplumber

Я извлек текст из pdf (используя pdfplumber) в txt, но между словами есть пробелы, которых нет в файле PDF.

Я попытался nltk найти слова, используя комбинацию «Предыдущее_слово» + «текущее_слово» и проверить, существуют ли они в NLTK.words, чтобы узнать, где есть лишний пробел между словами, но это не работает.

Я ищу предложения, спасибо

2 ответа

Пример логики, которая помещает слова с двумя пробелами между ними в список, а затем вы можете реализовать функции, которые вам нравятся:

      text = """
asdasd  asd asdd d
uuurr ii ii  rrr
"""

words = text.split(" ") #<- split if 1 spaces
dictionary = list() #<- dictionary list to compare
words_wrapper = list() #<- list of words with 2 spaces

for idx in range(len(words)):
    if words[idx] == '':
        word = f"{words[idx-1]} {words[idx+1]}"
        words_wrapper.append(word)
        if word in dictionary:
            pass #<- do sth 
            
# Print filtered words
print(words_wrapper)

или Вы также можете использовать .join для объединения слов с двумя пробелами вместе:

      text = """
asdasd  asd asdd d
uuurr ii ii  rrr
"""

print("".join(text.split("  ")))

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

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