0

我有一个格式的字符串,

/d.phpsoft_id=369242&url=http://f.1mobile.com/mobile_software/finance/com.mshift.android.achieva_2.apk

我需要使用正则表达式编辑这个字符串,结果字符串应该从http开始:即resultatnt字符串应该是

http://f.1mobile.com/mobile_software/finance/com.mshift.android.achieva_2.apk

请帮忙

4

3 回答 3

1

对于这些类型的情况,我更喜欢使用现成的工具来帮助提供解决方案,或者至少可以为我指明正确的方向。我最喜欢的正则表达式是txt2re,因为它会输出多种语言的示例代码,包括 ruby​​。

通过解析器运行您的字符串并选择 httpurl 进行匹配后,它会输出

txt='/d.phpsoft_id=369242&url=http://f.1mobile.com/mobile_software/finance/com.mshift.android.achieva_2.apk'

re1='.*?'   # Non-greedy match on filler
re2='((?:http|https)(?::\\/{2}[\\w]+)(?:[\\/|\\.]?)(?:[^\\s"]*))'   # HTTP URL 1

re=(re1+re2)
m=Regexp.new(re,Regexp::IGNORECASE);
if m.match(txt)
    httpurl1=m.match(txt)[1];
    puts "("<<httpurl1<<")"<< "\n"
end
于 2013-01-14T05:46:30.257 回答
0
str = "/d.phpsoft_id=369242&url=http://f.1mobile.com/mobile_software/finance/com.mshift.android.achieva_2.apk"

str.spl­it("url=")­[1]
于 2013-01-14T05:34:38.087 回答
0

简单的答案

您需要执行以下操作

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]
于 2013-01-14T05:54:52.407 回答