私たちのアプリケーションは、Twitterを使用してログインする人々の名前をマイニングします。
Twitterは、1つの文字列でフルネームを提供しています。
例
1. "Froederick Frankenstien"
2. "Ludwig Van Beethoven"
3. "Anne Frank"
見つかった最初の" "
(スペース)に基づいて、文字列をtwovar(first
およびlast
)のみに分割したい。
Example First Name Last Name
1 Froederick Frankenstein
2 Ludwig Van Beethoven
3 Anne Frank
私はString#split
に精通していますが、一度だけ分割する方法がわかりません。最もRuby-Way™(エレガント)の回答が受け入れられます。
String#splitは、2番目の引数である制限を取ります。
str.split(' ', 2)
トリックを行う必要があります。
"Ludwig Van Beethoven".split(' ', 2)
2番目のパラメーターは、分割する数を制限します。
次のこともできます。
"Ludwig Van Beethoven".partition(" ")
.split()
の2番目の引数は、実行する分割の数を指定します。
'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