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您能解释一下它是如何工作的吗?我担心您不喜欢它。比预期的好@什维塔