如果我有如下字符串:
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中设置它并使其可以点击。
我怎么能这样做,请帮助我。
答案 0 :(得分:2)
正则表达式是
((http:\/\/|https:\/\/)?(www.)?(([a-zA-Z0-9-]){2,}\.){1,4}([a-zA-Z]){2,6}(\/([a-zA-Z-_\/\.0-9#:?=&;,]*)?)?)
答案 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));