我有一个非常简单的字符串,我想在 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(使用前将#替换为@)