使用 java 从文本中删除 url

2022-09-03 17:44:06

如何删除文本示例中存在的 URL

String str="Fear psychosis after #AssamRiots - http://www.google.com/LdEbWTgD http://www.yahoo.com/mksVZKBz";

使用正则表达式?

我想删除文本中的所有 URL。但它不起作用,我的代码是:

String pattern = "(http(.*?)\\s)";
Pattern pt = Pattern.compile(pattern);
Matcher namemacher = pt.matcher(input);
if (namemacher.find()) {
  str=input.replace(namemacher.group(0), "");
}

答案 1

输入包含网址的String

private String removeUrl(String commentstr)
    {
        String urlPattern = "((https?|ftp|gopher|telnet|file|Unsure|http):((//)|(\\\\))+[\\w\\d:#@%/;$()~_?\\+-=\\\\\\.&]*)";
        Pattern p = Pattern.compile(urlPattern,Pattern.CASE_INSENSITIVE);
        Matcher m = p.matcher(commentstr);
        int i = 0;
        while (m.find()) {
            commentstr = commentstr.replaceAll(m.group(i),"").trim();
            i++;
        }
        return commentstr;
    }

答案 2

好吧,您没有提供有关文本的任何信息,因此假设您的文本如下所示:,您可以执行此操作:"Some text here http://www.example.com some text there"

String yourText = "blah-blah";
String cleartext = yourText.replaceAll("http.*?\\s", " ");

这将删除所有以“http”开头到第一个空格字符的序列。

您应该阅读 Javadoc on String 类。它会让你清楚事情。