Есть ли способ перебрать строку, чтобы вернуть первое, последнее и среднее имена массива в Ruby? - PullRequest
0 голосов
/ 10 июля 2020

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

name = doc.css("h2 a").text.strip.split.join(' ')

Это возвращает:

Karina CAPS Jeffery M. CAPS Terry M. CAPS Zaid F. CAPS Abdalmahd CAPS Aziz CAPS Jason V. CAPS Patrick R. CAPS Nancy A. CAPS Henry L. CAPS Floyd CAPS

et c .. всего 20 имен.

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

@people.each.with_index(1) do |person, i|
  puts "#{i}. #{person.name}"
end

Есть идеи ???

1 Ответ

1 голос
/ 10 июля 2020

Если вы хотите извлечь имена, вы можете просто map элементы, которые соответствуют:

names = doc.css('h2 a').map { |e| e.text.strip }

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...