Ruby удалить первое слово из строки

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

     "i am going to school"

     "he is going to school"

     "she is going to school" 

     "they are going to school"

поэтому строка может быть любой строкой и не знает о точной длине первого слова. но просто хочу удалить первое слово.

Результат должен быть как ниже

      "am going to school"

     "is going to school"

     "is going to school" 

     "are going to school"

Любая помощь?

Спасибо

Ответ 1

"i am going to school".split(' ')[1..-1].join(' ')

=> "am going to school"

Вы можете идти в обоих направлениях в массиве в ruby, так что -1 - последний элемент.

Ответ 2

'she is going to school'[/(?<=\s).*/] => "is going to school"

Это использует привязку Ruby positive lookbehind:

(? <= pat) - Положительное утверждение lookbehind: гарантирует, что предыдущий символы соответствуют pat, но не включают эти символы в согласованный текст

Таким образом, шаблон ищет пробельный символ, за которым следует строка любых символов. Поскольку повторение (например, "*" ) является жадным, оно выбирает самую длинную совпадающую строку.

Ответ 3

Используйте regexp

str = "i am going to school"
puts str.gsub(/^(\w\s+)(.*)/, '\2')

=> "am going to school"

Ответ 4

Сделайте это для каждой строки:

string.sub(/\s*[\w']+\s+/, "")