Как разобрать или найти строку в другой строке?

#python #string #parsing #scrape

#python #строка #синтаксический анализ #очистить

Вопрос:

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

Код, который я пишу, больше не может найти строку. Я уже пробовал rstrip() replace() функции and, но ни один из них не работает. Пример следующий. Изображение изображение

это текстовый файл, в котором я выделил строку "PRINCIPAL STOCKHOLDER" , которую пытаюсь найти. Как показано на рисунке, строка была разделена на две строки, и код возвращает значение none, поскольку он не может найти строку.

Следующий код не работает:

 text_locate = 'PRINCIPAL STOCKHOLDER'
text = (str(text_locate).replace('r', '').replace('n', ''))
  

Комментарии:

1. попробуйте ' '.join(test.split()) — это удалит все множественные пробелы и разрывы строк и уменьшит их до 1 пробела.

2. Извините, код написан с помощью text = ‘ ‘.join(test.split())?

Ответ №1:

Попробуйте это:

 text = text_locate.strip().replace("n","")
  

Комментарии:

1. Проблема заключалась не в том, чтобы избавиться от разрыва строки и пробелов, а в том, чтобы найти строку. Мне нужно найти строку, а затем проанализировать следующее содержимое. После того, как я найду строку, я могу использовать beautifulsoup soup.find_all(‘located_string’) для анализа остального содержимого. Есть ли какой-либо способ, которым я мог бы получить строку locate точно такой же, как показано на рисунке?

Ответ №2:

Вы пытались использовать xpath, он довольно прост в использовании :
https://www.accordbox.com/blog/scrapy-tutorial-7-how-use-xpath-scrapy/

Если вы не хотите, вы все равно можете это сделать :
https://thispointer.com/python-search-strings-in-a-file-and-get-line-numbers-of-lines-containing-the-string/

Также, возможно, вам следует искать только ПРИНЦИПАЛА или АКЦИОНЕРА, а не искать их обоих.