Suppression de l'URL du texte à l'aide de Java
Comment faire pour supprimer les Url présentes dans le texte exemple
String str="Fear psychosis after #AssamRiots - http://www.google.com/LdEbWTgD http://www.yahoo.com/mksVZKBz";
à l'aide d'une expression régulière?
Je veux supprimer toutes les Url dans le texte. Mais cela ne fonctionne pas, mon code est :
String pattern = "(http(.*?)\\s)";
Pattern pt = Pattern.compile(pattern);
Matcher namemacher = pt.matcher(input);
if (namemacher.find()) {
str=input.replace(namemacher.group(0), "");
}
source d'informationauteur NLP JAVA
Vous devez vous connecter pour publier un commentaire.
Entrée de la
String
qui contient l'urlBien, vous n'avez fourni aucune info à propos de votre texte, avec la prise en charge de votre texte comme ceci:
"Some text here http://www.example.com some text there"
vous pouvez le faire:Cela permettra de supprimer toutes les séquences commençant par "http" et jusqu'au premier caractère d'espace.
Vous devriez lire la Javadoc sur Chaîne classe. Il va mettre les choses au clair pour vous.
Comment définissez-vous l'URL? Vous pourriez voulez pas seulement pour filtre http://, mais aussi https://et d'autres protocoles comme le ftp://, rss://ou protocoles personnalisés.
Peut-être cette expression régulière pour faire le travail:
[\S]+://[\S]+
Explication:
Notez que si votre URL contient des caractères &\, puis les réponses ci-dessus ne fonctionnera pas car replaceAll ne peut pas gérer ces personnages. Ce qui a fonctionné pour moi a été de supprimer ces caractères dans une nouvelle variable de chaîne puis supprimer les caractères à partir des résultats de m.find() et utiliser replaceAll sur ma nouvelle chaîne variable.
m.group(0)
doit être remplacé par une chaîne vide plutôt que dem.group(i)
oùi
est incrémenté à chaque appel dem.find()
comme mentionné dans l'une des réponses ci-dessus.Si vous pouvez vous déplacer vers python ensuite, vous pouvez trouver beaucoup mieux la solution ici à l'aide de ces codes,