Vérifier si la chaîne se termine par un certain motif

Si j'ai une chaîne comme:

This.is.a.great.place.too.work.

ou alors:

This/is/a/great/place/too/work/

que mon programme devrait me donner que la phrase est valide et qu'elle a du "travail".


Si j'ai:

This.is.a.great.place.too.work.hahahha

ou alors:

This/is/a/great/place/too/work/hahahah

alors mon programme ne doit pas me donner qu'il y a un "travail" dans la phrase.


Je regarde donc les chaînes java pour trouver un mot à la fin de la phrase ayant .ou ,ou /avant. Comment puis-je atteindre cet objectif?


Solution du problème

C'est très simple, l' Stringobjet a une endsWithméthode.

D'après votre question, il semble que vous vouliez soit /, ,soit .comme délimiteur défini.

Alors:

String str = "This.is.a.great.place.to.work.";
if (str.endsWith(".work.") || str.endsWith("/work/") || str.endsWith(",work,"))
//...

Vous pouvez également le faire avec la matchesméthode et une regex assez simple :

if (str.matches(".*([.,/])work\\1$"))

En utilisant la classe de caractères [.,/]spécifiant un point, une barre oblique ou une virgule, et une référence arrière, \1qui correspond à l'une des alternatives trouvées, le cas échéant.

Commentaires

Posts les plus consultés de ce blog

Comment signer la connexion OKEx API version 5 avec websockets ?

La fonction GCP Cloud pour écrire des données dans BigQuery s'exécute avec succès, mais les données n'apparaissent pas dans la table BigQuery

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"