Ruby 从字符串中提取Url

Ruby 从字符串中提取Url,ruby,Ruby,我有一个网址: url = "http://timesofindia.feedsportal.com/fy/8at2EuL0ihSIb3s7/story01.htmA" 结尾有一些不需要的字符,如A,TRE。我想删除此项,因此URL将如下所示: url = http://timesofindia.feedsportal.com/fy/8at2EuL0ihSIb3s7/story01.htm 如何删除它们?如果您的url总是以.htm、.apsx或.php结束,您可以用一个简单的正则表达式来解

我有一个网址:

url = "http://timesofindia.feedsportal.com/fy/8at2EuL0ihSIb3s7/story01.htmA"
结尾有一些不需要的字符,如A,TRE。我想删除此项,因此URL将如下所示:

url = http://timesofindia.feedsportal.com/fy/8at2EuL0ihSIb3s7/story01.htm

如何删除它们?

如果您的url总是以
.htm
.apsx
.php
结束,您可以用一个简单的正则表达式来解决:

url = url[/^(.+\.(htm|aspx|php))(:?.*)$/, 1]
测试

首先,我使用一个子字符串,它的工作方式类似于slice。然后是正则表达式。从左到右:

^                   # Start of line
  (                   # Capture everything wanted enclosed
    .+                  # 1 or more of any character
    \.                  # With a dot after it
    (htm|aspx|php)      # htm or aspx or php
  )                   # Close url asked in question
  (                   # Capture undesirable part
    :?                  # Optional
    .*                  # 0 or more any character
  )                   # Close undesirable part
$                   # End of line

到目前为止你做了什么?我已经用nokogiri解析了一个字符串中的数据,当我解析url时,我得到了类似以下url的url=“”,但原始url是url=“”,请帮助meSo,你需要在.htm之后删除吗?对吧?不需要的字符,比如(A,TRE,)等等。。在URL中,TRE在哪里?是的,但不确定URL中是否有.php或.aspx等更好的答案,@waldyr.ar您能解释一下它是如何工作的吗?我担心您不喜欢它。比预期的好@什维塔