ruby – 如何解析URL并提取所需的子字符串

前端之家收集整理的这篇文章主要介绍了ruby – 如何解析URL并提取所需的子字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
说我有这样的字符串:“http://something.example.com/directory/”

我想要做的是解析这个字符串,并从字符串中提取“某事”.

第一步,显然是检查以确保字符串包含“http://” – 否则,它应该忽略该字符串.

但是,我如何才能在该字符串中提取“某物”?假设将要评估的所有字符串都具有类似的结构(即我正在尝试提取URL的子域 – 如果正在检查的字符串确实是有效的URL – 其中有效的以“http://”开头).

谢谢.

附:我知道如何检查第一部分,即我可以简单地将字符串拆分为“http://”,但这并不能解决完整的问题,因为这将产生“http://something.example.com/directory /”.我想要的只是“东西”,没有别的.

解决方法

我这样做:
require 'uri'

uri = URI.parse('http://something.example.com/directory/')
uri.host.split('.').first
=> "something"

URI内置于Ruby中.它不是功能最齐全的,但它足以为大多数URL执行此任务.如果您有IRIs,请查看Addressable::URI.

猜你在找的Ruby相关文章