Подтвердить что ты не робот

Как разбить строку на две части с заданным символом в Ruby?

Наше приложение - это имена компаний, использующих Twitter для входа в систему.

Twitter предоставляет полные имена в одной строке.

Примеры

1. "Froederick Frankenstien"
2. "Ludwig Van Beethoven"
3. "Anne Frank"

Я хотел бы разбить строку на два vars (first и last) на основе первого найденного " " (пробела).

Example    First Name    Last Name 
1          Froederick    Frankenstein
2          Ludwig        Van Beethoven
3          Anne          Frank

Я знаком с String#split, но я не уверен, как разделить только один раз. Самый ответный ответ Ruby-Way ™ (элегантный) будет принят.

4b9b3361

Ответ 1

Строка # split принимает второй аргумент, предел.

str.split(' ', 2)

должен сделать трюк.

Ответ 2

"Ludwig Van Beethoven".split(' ', 2)

Второй параметр ограничивает число, в которое вы хотите разбить его.

Вы также можете сделать:

"Ludwig Van Beethoven".partition(" ")

Ответ 3

Второй аргумент .split() указывает, сколько разделов делать:

'one two three four five'.split(' ', 2)

И вывод:

>> ruby -e "print 'one two three four five'.split(' ', 2)"
>> ["one", "two three four five"]

Ответ 4

Альтернатива:

    first= s.match(" ").pre_match
    rest = s.match(" ").post_match