2

我的字符串:

download_recording true Package available http://abc.com/recDownload/635131586215948750.exe

如何http://abc.com/recDownload/635131586215948750.exe从上面的字符串中得到?

请帮忙

4

4 回答 4

3

该博客包含示例代码:

http://blog.houen.net/java-get-url-from-string/

以及这个问题:

从字符串中检测并提取 url?

这也可能有所帮助:

如何检测字符串中是否存在 URL

于 2013-08-27T07:34:40.503 回答
1

这是一个非常简单的匹配包含前缀协议的东西。 [a-z]+:\/\/[^ \n]*

Pattern.compile("[a-z]+:\/\/[^ \n]*").matcher(
    "download_recording true Package available http://abc.com/recDownload/635131586215948750.exe click the link"
).find();
//"http://abc.com/recDownload/635131586215948750.exe"

等效的 javascript

'download_recording true Package available http://abc.com/recDownload/635131586215948750.exe click the link'
    .match(/[a-z]+:\/\/[^ \n]*/)
于 2013-08-27T07:36:38.590 回答
0

简单地使用 string 类中的 split 方法应该可以解析这个。

String s = "download_recording true Package available http://abc.com/recDownload/635131586215948750.exe";
//We now have the values on either side of where http:// was
String[] splitted = s.split("http://");
//so index 1 is the url and we can just append http:// back on the beginning to get the whole url
String url = "http://" + splitted[1];
于 2013-08-27T07:33:49.757 回答
0

我认为这个正则表达式是你正在寻找的:

(http\:\/\/){0,1}(www){0,1}[\.]{0,1}[a-zA-Z0-9_]+\.[a-zA-Z0-9_]+(\/{1}[a-zA-Z0-9_\.]+)*

于 2013-08-27T07:37:24.373 回答