如何检查字符串是否包含java中的url

时间:2015-12-07 13:26:48

标签: java regex string

如果我有如下字符串:

String str = "Google is awesome search engine. https://www.google.co.in";

现在在上面的字符串中我需要检查字符串是否包含任何链接。在上面的字符串中,它应该返回true,因为字符串包含一个链接。

该功能还应将www.google.com也作为链接进行检查。它不应取决于http://https://

我也检查了这个链接What's the best way to check if a String contains a URL in Java/Android? 但是只有当字符串只包含url并且我想要的是一个字符串包含任何地方的链接时它才返回true,它应该返回true。

我希望该字符串也匹配模式,这样我就可以在android中的textview中设置它并使其可以点击。

我怎么能这样做,请帮助我。

3 个答案:

答案 0 :(得分:2)

正则表达式是

((http:\/\/|https:\/\/)?(www.)?(([a-zA-Z0-9-]){2,}\.){1,4}([a-zA-Z]){2,6}(\/([a-zA-Z-_\/\.0-9#:?=&;,]*)?)?)

Check this link for more information

答案 1 :(得分:1)

您可以在空格上拆分字符串,然后使用the answer you linked to above中的一种方法测试结果数组中的每个“字”。

String[] words = str.split(" ");
for (String word : words) {
    // test here using your favourite methods from the linked answer
}

答案 2 :(得分:0)

最简单的方法是使用indexOf方法。像:

+

或者,您可以使用正则表达式:

String target =" test http://www.test1.com";
String http = "http:";
System.out.println(target.indexOf(http));