Rails / Strings: Как вывести разные части строки? - PullRequest
1 голос
/ 17 августа 2011

Я пытаюсь разбить строку и вывести разные части, что лучше всего подходит для рельсов 3?

Строка: "book_page_title" Сепаратор: "_"

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

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

Ответы [ 5 ]

4 голосов
/ 17 августа 2011

Чтобы разделить:

book,page,title = string.split('_')

И рекомбинировать:

string = [book,page,title].join('_')
1 голос
/ 17 августа 2011

Попробуйте ruby+string+doc в Google, вы получите http://ruby -doc.org / core / classes / String.html в качестве первого результата, и вы можете увидеть ряд строковых функций в этом ссылка на сайт. Вы можете увидеть split там.

splitted_array = "book_page_title".split("_")
=> ["book", "page", "title"]

splitted_array.each do |string|
  #..do manipulations here
end
1 голос
/ 17 августа 2011

использование

split('_') 

метод дает массив.

0 голосов
/ 17 августа 2011
a = "book_page_title".split("_")

a.each do |i|
  instance_variable_set("@#{i}", "value")
end

@book #=> *value*
@page #=> *value*
@title #=> *value*
0 голосов
/ 17 августа 2011

"book_page_title".split("_") вернет вам массив строк. Таким образом, вы можете получить доступ к каждому элементу через [].

splitted = "book_page_title".split("_") # ["book", "page", "title"]
puts splitted[0] # gives "book"
puts splitted[1] # gives "page"
puts splitted[2] # gives "title"
...