Wenn Sie nicht mit regulären Ausdrücken experimentieren und eine getestete Methode ausprobieren wollen, können Sie die Apache Commons Library verwenden und überprüfen, ob eine gegebene Zeichenkette ein URL/Hyperlink ist oder nicht. Unten ist das Beispiel.
Bitte beachten Sie: In diesem Beispiel soll festgestellt werden, ob ein bestimmter Text als Ganzes eine URL ist. Bei einem Text, der eine Kombination aus regulärem Text und URLs enthält, muss möglicherweise ein zusätzlicher Schritt durchgeführt werden, bei dem die Zeichenkette auf der Grundlage von Leerzeichen aufgespalten und das Array in einer Schleife durchlaufen wird, um jedes Array-Element zu überprüfen.
Gradle-Abhängigkeit:
implementation 'commons-validator:commons-validator:1.6'
Code:
import org.apache.commons.validator.routines.UrlValidator;
// Using the default constructor of UrlValidator class
public boolean URLValidator(String s) {
UrlValidator urlValidator = new UrlValidator();
return urlValidator.isValid(s);
}
// Passing a scheme set to the constructor
public boolean URLValidator(String s) {
String[] schemes = {"http","https"}; // add 'ftp' is you need
UrlValidator urlValidator = new UrlValidator(schemes);
return urlValidator.isValid(s);
}
// Passing a Scheme set and set of Options to the constructor
public boolean URLValidator(String s) {
String[] schemes = {"http","https"}; // add 'ftp' is you need. Providing no Scheme will validate for http, https and ftp
long options = UrlValidator.ALLOW_ALL_SCHEMES + UrlValidator.ALLOW_2_SLASHES + UrlValidator.NO_FRAGMENTS;
UrlValidator urlValidator = new UrlValidator(schemes, options);
return urlValidator.isValid(s);
}
// Possible Options are:
// ALLOW_ALL_SCHEMES
// ALLOW_2_SLASHES
// NO_FRAGMENTS
// ALLOW_LOCAL_URLS
Um mehrere Optionen zu verwenden, fügen Sie sie einfach mit dem Operator '+' hinzu
Wenn Sie bei der Verwendung der Apache-Commons-Bibliothek Abhängigkeiten auf Projektebene oder transitive Abhängigkeiten im Grad ausschließen müssen, können Sie wie folgt vorgehen (Entfernen Sie alles, was erforderlich ist, aus der Liste):
implementation 'commons-validator:commons-validator:1.6' {
exclude group: 'commons-logging'
exclude group: 'commons-collections'
exclude group: 'commons-digester'
exclude group: 'commons-beanutils'
}
Weitere Informationen können Sie über den Link abrufen.
http://commons.apache.org/proper/commons-validator/dependencies.html