在 Ruby 中如何用给定的字符将字符串分成两部分?

我们的应用程序正在从使用 Twitter 登录的用户中挖掘姓名。

Twitter 在一个字符串中提供全名。

例子

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

我希望根据找到的第一个 " "(空格)将字符串分割为仅有的 变量(firstlast)。

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

我对 String#split很熟悉,但我不知道如何只分裂一次。最优雅的 Ruby-WayTM 答案将被接受。

42477 次浏览

String # 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