Ruby on rails RubyonRails中的字符串操作
我有一个字符串的格式Ruby on rails RubyonRails中的字符串操作,ruby-on-rails,regex,string,Ruby On Rails,Regex,String,我有一个字符串的格式 /d.phpsoft_id=369242&url=http://f.1mobile.com/mobile_software/finance/com.mshift.android.achieva_2.apk 我需要使用正则表达式编辑这个字符串,结果字符串应该从http:ie开始,结果字符串应该是 http://f.1mobile.com/mobile_software/finance/com.mshift.android.achieva_2.apk 请帮助对于这些
/d.phpsoft_id=369242&url=http://f.1mobile.com/mobile_software/finance/com.mshift.android.achieva_2.apk
我需要使用正则表达式编辑这个字符串,结果字符串应该从http:ie开始,结果字符串应该是
http://f.1mobile.com/mobile_software/finance/com.mshift.android.achieva_2.apk
请帮助对于这些类型的情况,我更喜欢使用现成的工具来帮助提供解决方案,或者至少可以为我指明正确的方向。我最喜欢正则表达式,因为它可以输出多种语言的示例代码,包括ruby
str = "/d.phpsoft_id=369242&url=http://f.1mobile.com/mobile_software/finance/com.mshift.android.achieva_2.apk"
str.split("url=")[1]
在解析器中运行字符串并选择httpurl进行匹配后,它:
txt='/d.phpsoft_id=369242&url=http://f.1mobile.com/mobile_software/finance/com.mshift.android.achieva_2.apk'
re1='.''#填充符上的非贪婪匹配
re2='((?:http | https)(?:\\/{2}[\\w]+)(?:[\\/\\\.])(?:[^\\s”]*)。\http URL 1
re=(re1+re2)
m=Regexp.new(re,Regexp::IGNORECASE);
如果m.match(txt)
httpurl1=m.match(txt)[1];
放置“(”简单答案
您需要执行以下操作
str = "/d.phpsoft_id=369242&url=http://f.1mobile.com/mobile_software/finance/com.mshift.android.achieva_2.apk"
start=str.index('http://')
resultant=str[start,str.length]
如果在其他任何地方有另一个url=
,则此操作将中断。您要传递多个url参数?请定义要求。如果参数中有多个url怎么办?您如何知道您想要第一个匹配?
str = "/d.phpsoft_id=369242&url=http://f.1mobile.com/mobile_software/finance/com.mshift.android.achieva_2.apk"
start=str.index('http://')
resultant=str[start,str.length]