Как разделить строку на две части с заданным символом в 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™ (элегантный) ответ будет принят.

730   4  

4 ответов:

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

str.split(' ', 2)

следует сделать трюк.

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

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

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

"Ludwig Van Beethoven".partition(" ")

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

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

и вывод:

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

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

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

Comments

    Ничего не найдено.