如何将字符串拆分成只有两个部分与Ruby中的给定字符?
我们的应用程序是从使用Twitter登录的人挖掘名称。如何将字符串拆分成只有两个部分与Ruby中的给定字符?
Twitter正在一个字符串中提供全名。
实例
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™(优雅)答案将被接受。
"Ludwig Van Beethoven".split(' ', 2)
第二个参数限制您想要将其拆分成的数量。
你也可以这样做:
"Ludwig Van Beethoven".partition(" ")
'split'和'分区'有不同的结果:''abc“.split(”“,2)#=> [”a“,”bc“]; “a b c”.partition(“”)#=> [“a”,“”,“b c”]' – Dorian 2017-03-14 18:25:52
的.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
如果未找到匹配项,则会发出错误(无) – montrealmike 2015-12-16 15:27:44
即 ''' “贝多芬” .split(””,2) [ “路德维希·范”, “贝多芬”] ''' 没有看到一个rsplit – Justin 2016-08-10 21:43:43
好像你'字符串#split'可能已经被猴子修补过了或者什么的。看到这里:[repl.it:Clqa](https://repl.it/Clqa) – naomik 2016-08-10 21:47:09
感谢您的回应。我正在寻找一个本机解决方案,以说明我在实施自己之前所说的行为。目前我获得标准[“路德维希”,“范贝多芬”]。 – Justin 2016-08-11 11:54:50