Извлечение слов из строки?

#ruby #string #ruby-on-rails-3

#ruby #строка #ruby-on-rails-3

Вопрос:

У меня есть строка "---n- bbn- j2men" . Я хочу извлечь слова и сохранить их в массив. Нравится ['bb','j2me'] . Я попробовал ниже, но это не работает.

  "---n- bbn- j2men".split("n")
  

Если у вас есть какие-либо идеи, пожалуйста, поделитесь.

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

1.Вопрос не ясен. Определите «слово». "j2me" это не слово в каком-либо известном смысле. Что дает вам этот массив? Вы просто хотите разделить на последовательность "n" " " , и "-" ?

2. Вы хотите что-то вроде str.scan(/[a-zA-Z0-9] /) #=> ["bb", "j2me"] ? Почему тег Rails?

Ответ №1:

Это похоже на YAML:

 puts "---n- bbn- j2men"
# ---
# - bb
# - j2me
  

Вы можете проанализировать его с помощью:

 require 'yaml'

YAML.load("---n- bbn- j2men")
#=> ["bb", "j2me"]