Удаление пробелов и \ n из строки текста - PullRequest
1 голос
/ 26 сентября 2019

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

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

theater_address = theater.css('.address').text

Когда я использую binding.pry и вызовите переменную theater_address, которую я получаю после.

\n\n        2175 El Mercado Loop,\n        Sierra Vista\n        AZ\n        85635\n            | (520) 458-1936    \n \n"

Я бы хотел, чтобы возвращался только адрес.Адрес должен быть строкой, которая говорит только 2175 El Mercado Loop, Sierra Vista AZ 85650

Мне не нужен номер телефона или любой из \n до, после или по всему тексту.Я пробовал .chomp и .strip, но у меня такое ощущение, что это более сложно, чем это.Может кто-нибудь предложить здесь, чтобы получить адресную переменную так, как я хочу?

Заранее спасибо!

Я пробовал .chomp и .strip, но у меня есть ощущение, что это большевовлек что то.Может кто-нибудь предложить здесь, чтобы получить адресную переменную так, как я хочу?

1 Ответ

2 голосов
/ 26 сентября 2019

Предполагая, что нужная деталь находится перед конвейером |, вы можете попробовать что-то вроде этого:

s = "\n\n 2175 El Mercado Loop,\n Sierra Vista\n AZ\n 85635\n | (520) 458-1936 \n \n"
s.gsub(/\|.*$/,'').gsub(/\s{2,}/, ' ').strip

Объяснение:

  • удалить все между |и новая строка с gsub(/\|.*$/,'')
  • заменяет повторяющиеся пробелы (включая новые строки) на один пробел с gsub(/\s{2,}/, ' ')
  • убирает начальные / конечные пробелы с strip
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...