То, как разделить строку только на два, расстается с данным символом в Ruby?

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

Твиттер обеспечивает полные имена в единственной строке.

Примеры

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

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

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

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

62
задан 10 March 2011 в 02:08

4 ответа

String#split берет второй аргумент, предел.

str.split(' ', 2)

должен добиться цели.

143
ответ дан 31 October 2019 в 13:24

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

    first= s.match(" ").pre_match
    rest = s.match(" ").post_match
7
ответ дан 31 October 2019 в 13:24
"Ludwig Van Beethoven".split(' ', 2)

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

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

"Ludwig Van Beethoven".partition(" ")
12
ответ дан 31 October 2019 в 13:24

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

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

И вывод:

>> ruby -e "print 'one two three four five'.split(' ', 2)"
>> ["one", "two three four five"]
8
ответ дан 31 October 2019 в 13:24

Другие вопросы по тегам:

Похожие вопросы: