Как я могу отсортировать список заголовков по алфавиту, игнорируя "The", используя Ruby? - PullRequest
1 голос
/ 23 ноября 2010

У меня есть список заголовков, которые я извлекаю из базы данных, отсортированные в алфавитном порядке, то есть:

[
  'Morning Glory',
  'Red',
  'Skyline',
  'The Next Three Days'
]

Каков наилучший способ пересортировать этот список заголовков, игнорируя "The", чтобы он стал:

[
  'Morning Glory',
  'The Next Three Days',
  'Red',
  'Skyline'
]

Ответы [ 2 ]

8 голосов
/ 23 ноября 2010
titles = ["Morning Glory", "Red", "Skyline", "The Next Three Days"]
titles.sort_by {|w| w.sub(/^the /i,"")}
=> ["Morning Glory", "The Next Three Days", "Red", "Skyline"]
1 голос
/ 23 ноября 2010

Что вы можете сделать, это использовать собственный компаратор для сортировки.

См .: http://rosettacode.org/wiki/Sort_using_a_custom_comparator#Ruby

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