在 Ruby 中解析 URL 字符串

2024-01-28

我有一个非常简单的字符串,我想在 ruby​​ 中解析并尝试找到最优雅的解决方案。该字符串的格式为 /xyz/mov/exdaf/daeed.mov?arg1=blabla&arg2=3bla3bla

我想要的是: 字符串1:/xyz/mov/exdaf/daeed.mov 字符串2:arg1=blabla&arg2=3bla3bla

所以基本上标记化了?

但找不到一个好的例子。 任何帮助,将不胜感激。


我认为最好的解决方案是使用URI模块。 (你可以做类似的事情URI.parse('your_uri_string').query使零件位于右侧?.) See http://www.ruby-doc.org/stdlib/libdoc/uri/rdoc/ http://www.ruby-doc.org/stdlib/libdoc/uri/rdoc/

Example:

002:0> require 'uri' # or even 'net/http'
true
003:0> URI
URI
004:0> URI.parse('/xyz/mov/exdaf/daeed.mov?arg1=bla&arg2=asdf')
#<URI::Generic:0xb7c0a190 URL:/xyz/mov/exdaf/daeed.mov?arg1=bla&arg2=asdf>
005:0> URI.parse('/xyz/mov/exdaf/daeed.mov?arg1=bla&arg2=asdf').query
"arg1=bla&arg2=asdf"
006:0> URI.parse('/xyz/mov/exdaf/daeed.mov?arg1=bla&arg2=asdf').path
"/xyz/mov/exdaf/daeed.mov"

否则,您可以在正则表达式上捕获:/^(.*?)\?(.*?)$/. Then $1 and $2是你想要的。 (URI不过在这种情况下更有意义。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Ruby 中解析 URL 字符串 的相关文章

随机推荐