java - 使用 Java 从文本中过滤 url

标签 java url

我的文本存储在数据库中,我想过滤文本包含的 URL。如何使用 Java 代码从文本中过滤 url?例如,我的数据库中有以下文本“The dress-a-likes!尝试看起来正常,这就是发生的事情。😳@Bar Louie http://t.co/sNVcoqT0Bc”。如何过滤链接http://t.co/sNVcoqT0Bc。

    Pattern p = Pattern.compile("http://.*|www\\..*");
    DBCursor cursor = coll.find(query);
    while(cursor.hasNext()) {
         System.out.println(cursor.next().get("text"));

         Matcher m = p.matcher("http://...");
}

如何使用匹配器过滤cursor.next().get("text")。 Cursor... 是匹配器等待字符串的对象。如何将该对象转换为字符串?

最佳答案

我会尝试找到“http://”的位置,然后获取整个字符串直到结尾。

使用:int indexOf(String str)

如果 URL 后面可能有更多内容,则使用另一个 indexOf() 来定位空间。

现在使用:indexOf(String str, int fromIndex)其中fromIndex应该是之前找到的索引。

从一个索引到另一个索引创建一个子字符串。

使用:字符串子字符串(int beginIndex, int endIndex)

关于java - 使用 Java 从文本中过滤 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27418696/

相关文章:

java - 跨领域身份验证后的 Keycloak 领域特定授权

java - java.net.URL 的本地文件协议(protocol)

c# - 如何检查 url 是否可公开访问?

java - 无法从有效的 URL 中读取 HTML 内容

android - 从包含问号的 URL 启动应用程序

java - 递归加法差异

java - 免注解spring数据解决方案

java - 关于 String 实例化的最佳实践好奇心

java - 输入流到 int 数组

java - 文件操作有时不起作用