使用包含运算符的字符串作为if语句上的变量

时间:2019-07-03 21:11:22

标签: java android

标题是不言自明的。

代替使用:

if (link.contains(".com") || (link.contains(".net") || (link.contains(".org") || (link.contains(".info") || ("etc there are many domain names")) {
    webView.loadUrl("https://www." + link);
} else {
    webView.loadUrl("https://www." + link + ".com");
}

如果可能的话,我想通过全局声明String的值来做到这一点。

if (link.contains(domainNames)) {
    webView.loadUrl("https://www." + link);
} else {
    webView.loadUrl("https://www." + link + ".com");
}

2 个答案:

答案 0 :(得分:2)

使用域名构建正则表达式,然后对其进行测试,例如

private static final Pattern DOMAIN_NAMES = Pattern.compile("\\.(?i:com|net|org|info)$");
if (DOMAIN_NAMES.matcher(link).find()) {
    webView.loadUrl("https://www." + link);
} else {
    webView.loadUrl("https://www." + link + ".com");
}

答案 1 :(得分:0)

另一种手动方式可能是: Domainnamelist.contains(来自包含域结尾的链接的子字符串)