use*_*553 11 ruby regex arrays html-parsing
对于数组,当我输入:
puts array[0]
==> text 
然而,当我打字
puts array[0].to_s
==> ["text"]
为什么括号和引号?我错过了什么?
ADDENDUM:我的代码看起来像这样
page = open(url)  {|f| f.read }
page_array = page.scan(/regex/) #pulls partial urls into an array
partial_url = page_array[0].to_s
full_url = base_url + partial_url #adds each partial url to a consistent base_url
puts full_url
我得到的是:
http://www.stackoverflow/["questions"]
小智 12
to_s只是检查Array类的别名.
并不是说这意味着很多,而不是期望array.to_s返回一个字符串,它实际上返回了array.inspect,它基于方法的名称,并不是你真正想要的.
如果你只想"胆量"尝试:
page_array.join
如果数组有多个元素:
page_array.join(" ")
这将使:
page_array = ["test","this","function"]
返回:
"test this function"
返回的"to_s"取决于您正在使用的Ruby版本,如上所述.1.9.X回报:
"[\"test\"]"
您需要向我们展示正则表达式才能真正正确地解决此问题,但这可以做到这一点:
替换这个
partial_url = page_array[0].to_s
有了这个
partial_url = page_array[0][0]
| 归档时间: | 
 | 
| 查看次数: | 12552 次 | 
| 最近记录: |