java查找字符串中的url_Java库验证URL并从字符串中去除URL参数

Apache Commons Validator包含commons-validator-1.3.1.jar中的UrlValidator类。以下方法用于验证VLCJ中的给定媒体资源定位符(MRL),其基本上是URL。但是,UrlValidator不适用于基于文件的URL(使用file://方案)

/**

* Get a media resource locator (MRL) with the following valid conditions:

*
(1) a non-URI file link

*
(2) a URI link with "file:" scheme

*
(3) a URI link with "file:" scheme

*

* @param mrl media resource locator (MRL)

* @return valid MRL; otherwise return null

*/

private String validateMRL(final String mrl){

String media = null;

String newURI = mrl;

URI uri = new File(mrl.trim()).toURI();

try {

String f = new File(mrl).getAbsolutePath();

Outils.debugMessage("URI:" + f);

if (FilenameUtils.equalsNormalized(newURI, f)){

//this is a actual file link

newURI = uri.toURL().toString();

newURI = Outils.replaceAllString(newURI, "file:", "file://");

Outils.debugMessage("NEW URI: " + newURI);

media = newURI;

}

else if (!mrl.contains("file:")) {

//this is not a file link or "file:" link

if (mrl != null && mrl.length() > 0){

String[] schemes = {"http", "https", "rtsp", "rtp", "udp", "mms", "mmsh"};

UrlValidator urlValidator = new UrlValidator(schemes);

if (urlValidator.isValid(newURI))

media = mrl.trim();

}

}

else {

media = mrl;

}

} catch (MalformedURLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

Outils.debugMessage("CURRENT: " + media);

return media;

}对不起,这个函数没有做任何参数剥离(或者我会说“方案”)。但是,可以使用replace()或substring()轻松完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值