当前位置: 首页 > 面试题库 >

Java 如何检测字符串中URL的存在

宇文迪
2023-03-14
问题内容

我有一个输入String说Please go to http://stackoverflow.com<a href=""></a>许多浏览器/ IDE /应用程序都会检测到字符串的url部分,并自动添加锚点。这样就变成了Please go to <a href='http://stackoverflow.com'>http://stackoverflow.com</a>

我需要使用Java进行相同的操作。


问题答案:

为此使用java.net.URL!
嘿,为什么不对这个“ java.net.URL”使用Java的核心类,而让它验证URL。

尽管以下代码违反了“仅在特殊情况下使用异常”这一黄金原则,但对Java平台上已经成熟的某些东西而言,尝试重新发明轮子却无济于事。

这是代码:

import java.net.URL;
import java.net.MalformedURLException;

// Replaces URLs with html hrefs codes
public class URLInString {
    public static void main(String[] args) {
        String s = args[0];
        // separate input by spaces ( URLs don't have spaces )
        String [] parts = s.split("\\s+");

        // Attempt to convert each item into an URL.   
        for( String item : parts ) try {
            URL url = new URL(item);
            // If possible then replace with anchor...
            System.out.print("<a href=\"" + url + "\">"+ url + "</a> " );    
        } catch (MalformedURLException e) {
            // If there was an URL that was not it!...
            System.out.print( item + " " );
        }

        System.out.println();
    }
}

使用以下输入:

"Please go to http://stackoverflow.com and then mailto:oscarreyes@wordpress.com to download a file from    ftp://user:pass@someserver/someFile.txt"

产生以下输出:

Please go to <a href="http://stackoverflow.com">http://stackoverflow.com</a> and then <a href="mailto:oscarreyes@wordpress.com">mailto:oscarreyes@wordpress.com</a> to download a file from    <a href="ftp://user:pass@someserver/someFile.txt">ftp://user:pass@someserver/someFile.txt</a>

当然,可以以不同的方式处理不同的协议。你可以使用URL类的getter获取所有信息,例如

 url.getProtocol();


 类似资料:
  • 问题内容: 假设我有一个包含Ü的字符串。我将如何找到所有这些unicode字符?我应该测试他们的代码吗?我该怎么做? 例如,给定字符串“AÜXÜ”,我想将其转换为“ AYXY”。我想对其他unicode字符执行相同的操作,并且我不希望将它们存储在某种翻译图中。 问题答案: “ unicode字符”的定义含糊不清,但是将被视为表示标准ISO 8859字符集 未涵盖的UTF-8 字符。如果您的情况是这

  • 问题内容: 如果我有一个PHP字符串,如何有效地确定它是否至少包含一个非ASCII字符?所谓非ASCII字符,是指不属于此表的任何字符,http://www.asciitable.com/,其位置为32-126(含)。 因此,它不仅必须是ASCII表的一部分,而且还必须是可打印的。我想检测一个包含至少一个不符合这些规范的字符的字符串(不可打印的ASCII字符或完全不同的字符,例如不属于该表的Uni

  • 本文向大家介绍Java程序检查字符串中的URL,包括了Java程序检查字符串中的URL的使用技巧和注意事项,需要的朋友参考一下 可以创建一个程序来检查字符串是否为正确的URL。URL的示例如下所示- 演示该程序的程序如下。 示例 输出结果 现在让我们了解上面的程序。 在函数check_URL()中,创建一个URL对象。如果在创建对象时没有异常,则返回true。否则,返回false。演示此过程的代码

  • 问题内容: 在我的应用程序中,我从LDAP获取用户信息,有时完整的用户名使用了错误的字符集。例如: 它也可以是英语或俄语,并可以正确显示。如果用户名更改,它将在数据库中更新。即使我更改数据库中的值,它也无法解决问题。 我可以在保存之前修复此问题 但是,如果我将它用于包含俄语字符的字符串(例如,“Тест61Тестович61”),则会得到类似“ ??? 61 ??????? 61”的信息。 您能

  • 问题内容: 可以通过什么方式检测字符串中的重复单词? 例如,“这是重复测试的测试消息”包含一个重复单词测试。 在此,目标是检测出现在字符串中的所有重复单词。 使用正则表达式是实现目标的首选方法。 问题答案: 以下Java代码解决了从字符串中检测重复项的问题。如果重复的单词由换行符或标点符号分隔,则应该没有任何问题。 代码的输出将是: 在这里,m.group(1)语句表示与第一组模式匹配的字符串[这

  • 编辑:如何让js检查字符串是否包含数组的任何字符串,如var arrayVar=[“bing”,“google”];如果像“google是最好的吗?”这样的字符串,请检查它是否包含数组中的内容。这可能吗?