Nous avons une chaîne qui a une limite maximum de 20 mots. Si l'utilisateur entre quelque chose de plus de 20 mots, nous devons tronquer la chaîne à son 20ème mot. Comment pouvons-nous automatiser cela? Nous sommes en mesure de trouver le 20ème jeton aveC#GetToken (myString, 20, '') #, mais nous ne savons pas comment trouver sa position afin de couper à gauche. Des idées? Merci d'avance.Comment trouver la position du nième jeton
Répondre
L'UDF ListLeft() devrait faire ce que vous voulez. Il prend une liste et renvoie la liste avec le nombre d'éléments que vous définissez. "Espace" est bien comme délimiteur.
/**
* A Left() function for lists. Returns the n leftmost elements from the specified list.
*
* @param list List you want to return the n leftmost elements from.
* @param numElements Number of leftmost elements you want returned.
* @param delimiter Delimiter for the list. Default is the comma.
* @return Returns a string,
* @author Rob Brooks-Bilson ([email protected])
* @version 1, April 24, 2002
*/
function ListLeft(list, numElements){
var tempList="";
var i=0;
var delimiter=",";
if (ArrayLen(arguments) gt 2){
delimiter = arguments[3];
}
if (numElements gte ListLen(list, delimiter)){
return list;
}
for (i=1; i LTE numElements; i=i+1){
tempList=ListAppend(tempList, ListGetAt(list, i, delimiter), delimiter);
}
return tempList;
}
p.s. CFLIB.org est une ressource exceptionnelle, et c'est habituellement mon premier arrêt quand je cherche quelque chose comme ça. Je le recommande fortement.
Peut-être que vous pourriez éviter la coupe et au lieu de reconstruire le résultat à partir de zéro, quelque chose comme (pseudo-code, je ne sais pas ColdFusion):
result = ''
for (i = 0; i < 20; ++i)
{
result = result + GetToken(myString, i, ' ');
}
Est-ce que ça marche?
Vous ne savez pas si CF fournit cela, mais il existe généralement une méthode LastIndexOf (token de chaîne). Utilisez cela combiné avec une fonction de sous-chaîne. Pour isntance (psuedocode):
string lastWord = GetToken(myString, 20, ' ');
string output = Substring(mystring, 0, LastIndexOf(mystring, lastWord)+StrLength(lastWord));
peut également utiliser une expression régulière (groupe n ° 1 contient de jeu): ^(?:\w+\s+){19}(\w+)
- 1. Trouver la position du curseur
- 2. Trouver la position du curseur dans un TextBox
- 3. Comment puis-je obtenir la position nième ligne de la table sans utiliser de limite?
- 4. Comment puis-je déterminer la position du nième jeu de bits le plus significatif dans une valeur de 64 bits?
- 5. UILabel - comment changer la position du texte
- 6. comment trouver la position d'un élément dans un div
- 7. Comment obtenir la nième lettre de l'alphabet
- 8. SQL sélectionnez nième membre du groupe
- 9. Comment changer la position du module du chariot magento?
- 10. position du curseur du reglage après suppression
- 11. Extraction du premier jeton d'une chaîne délimitée
- 12. Trouver la position d'un nœud en utilisant xpath
- 13. Comment puis-je trouver la position dans la page d'un élément en utilisant jQuery?
- 14. Winforms: Emplacement de l'écran de la position du curseur
- 15. Trouver la position des résultats de recherche de Lucene
- 16. Comment trouver la validité du hashcode?
- 17. Comment trouver la version du référentiel Subversion?
- 18. Recherche de la position du client offset d'un élément
- 19. Obtenir la position du gtk.StatusIcon sur Windows
- 20. Form.Show() déplace légèrement la position du formulaire
- 21. Comment modifier la position de ligne du mode virtuel DataGridView?
- 22. Comment réserver la position du curseur dans le contrôle CEdit?
- 23. Jeton pour le nom du paquet Maven
- 24. Comment trouver la position d'un curseur dans une zone de texte? C#
- 25. jQuery Définir la position de la souris (pas la position du curseur)
- 26. Comment obtenir la position d'un élément enfant
- 27. Javascript Fibonacci nième terme Optimisation
- 28. Position du cadre en JavaScript
- 29. Comment trouver la position en pixels d'un caractère dans un NSTextView?
- 30. Enregistrer et restaurer la position et la taille du formulaire