Y a-t-il une fonction de chaîne ColdFusion pour vérifier si une chaîne se termine par une autre chaîne? Sinon, quel est le moyen le plus simple et le plus efficace d'accomplir cela? P>
3 Réponses :
Vous pouvez utiliser la droite Exemple (CFScript): P> droite (String, NumberOfCharacters) CODE> Fonction. existingString = "The Quick brown Fox jumps";
tailString = "umps";
stringMatch = false;
if (right(existingString, len(tailString)) eq tailString){
stringMatch = true;
}
Merci! Cela ressemble à une bonne solution ... Je pense que je vais me tenir au mien depuis que les sous-chaînes que je recherchent sont une combinaison de quelques personnages alphabétiques ... mais merci pour votre réponse!
@Froadie Votre chaîne sera toujours une combinaison de quelques personnages alpha ... jusqu'au jour où ce n'est pas le cas. Pourquoi laisser un bogue potentiel quand il y a une solution plus claire, plus sûre et meilleure. Ne supposez pas.
Une solution que j'ai trouvée ( http://taturial130.asycfm.com/ ) -
Utilisez une expression régulière Recherche - refindnocase code>, avec un signe $ code> pour représenter la fin de la chaîne. REFindNoCase("end$", "check if this string ends with end")
Cette fonction fonctionne bien si vous voulez seulement comparer des caractères littéraux. Vous rencontrerez des problèmes si votre chaîne de recherche contient des caractères spéciaux avec une signification dans Regex. Comme.? $ + *. Vous devrez vous échapper d'abord
Il n'y a pas besoin de regex ici. La solution de Schuldhaus @andreas est meilleure et il a expliqué pourquoi Regex causera des maux de tête. À savoir: "Certaines personnes, quand elles sont confrontées à un problème, pensez-moi" que je sais, je vais utiliser des expressions régulières. "Maintenant, ils ont deux problèmes." codinghorror.com/blog/ 2008/06 / ...
Personnellement, j'aime la regex, mais ceci est un exemple où il est trop excité. La méthode de gauche () énumérée ci-dessus est plus efficace.
C'est là que je saute jusqu'au niveau Java Real FAST.
Ucase(string).endsWith("STRING");