【发布时间】:2011-02-27 12:52:53
【问题描述】:
我发现这个模块叫做URI,它可以解析url。 (我对 ruby 很陌生。在这种情况下,“模块”是否与“库”同义?)然后您可以提取主机名。
uri = URI.parse("http://www.ruby-lang.org/")
...
p uri.host
# => "www.ruby-lang.org"
据此,我想您可以删除“www”。并使用正则表达式保留其他子域。
有没有人有更直接的选择,或者这种方法看起来是否正确?
【问题讨论】:
-
当然,ruby 必须具有某种
split()功能。那么为什么不直接拆分www.上的字符串并保留后面的部分呢? -
你到底想要什么?只需从
uri.host中删除“www”? -
库通常是一个独立的代码资源,可以包含一个、更多或更少的模块或类。
URI是 Ruby 核心库中的一个模块,这意味着它可以在您运行的任何 ruby 代码中使用。对于所有其他代码,您必须将其显式加载到您的应用中 -
使用 split('www.') 会起作用,除了如果主机是 www.example.com 它会给我一个数组,如果它是 example.com 则给我一个字符串,所以我有使用条件。看来我无论如何都得这么做。我只是想有一种更有效的方法。
-
当然有 sub() 方法可以删除 'www.'如果找到它...在下面回答。
标签: ruby-on-rails ruby regex parsing