问题描述
|
我有以下字符串:
src = \"dav://w.lvh.me:3000/Home/Transit/file\"
host = \"w.lvh.me:3000\"
我想用这两个字符串得到ѭ1
我曾想过在src
中搜索host
并在它第一次出现时将其删除以及它之前的所有内容,但是我不确定该怎么做。还是有更好的方法?
任何帮助,将不胜感激!
解决方法
确实有更好的方法:
require \'uri\'
src = \"dav://w.lvh.me:3000/Home/Transit/file\"
src = URI.parse src
src.path # => \"/Home/Transit/file\"
如果字符串中有空格,则必须通过转义/取消转义的额外步骤。幸运的是,这很简单:
require \'uri\'
src = \"dav://w.lvh.me:3000/Home/Transit/Folder 144/webdav_put_request\"
src = URI.parse(URL.escape src)
URL.unescape(src.path) # => \"/Home/Transit/Folder 144/webdav_put_request\"
,这应该可以完成以下工作:
src = \"dav://w.lvh.me:3000/Home/Transit/file\"
host = \"w.lvh.me:3000\"
result = src.sub(/.*#{host}/,\'\')
#=> \"/Home/Transit/file\"