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' String
objet a une endsWith
mé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 matches
mé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, \1
qui correspond à l'une des alternatives trouvées, le cas échéant.
Commentaires
Enregistrer un commentaire