我正在抓取一个网站的几个名字,我只需要一个名字。
如何删除字符串中的所有内容并输出名字:Veronica
这就是我所知道的,记住这是其他名字。
name = "Name: Veronica Ljunglöf"
name.gsub!("Name: ", '')
答案 0 :(得分:4)
如果格式看起来一致,您可以这样做:
layer
答案 1 :(得分:1)
我会使用正则表达式:
r = /
:\s+ # match a colon followed by one or more spaces
\K # forget everything matched so far
[[:alpha:]]+ # match one or more letters
/x # extended/free-spacing regex definition mode
'name = "Name: Veronica Lodge"'[r]
#=> "Veronica"<sup>1</sup>
答案 2 :(得分:0)
你可以......
name.gsub("Name: ", "").split.first
答案 3 :(得分:0)
这是一个更冗长,但也更通用的替代方案。您可以匹配多个模式,并可以将其调整为名字和姓氏(例如)。
"Name: Veronica Ljunglöf".match(/Name: (\w*) \w*/) #=> #<MatchData "Name: Veronica Ljunglöf" 1:"Veronica">
使用MatchData#captures
访问“Veronica”"Name: Veronica Ljunglöf".match(/Name: (\w*) \w*/).captures #=> ["Veronica"]
进行第一次(也是唯一一次)捕获
"Name: Veronica Ljunglöf".match(/Name: (\w*) \w*/).captures.first #=> "Veronica"