Trouver le texte exact dans la liste<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Je travaille avec des listes et des fonctions de liste et j'ai du mal à trouver comment localiser le texte exact contenu dans une liste.Par exemple, dans la nameList suivante, je voudrais créer une autre liste si la nameList contient le texte exact spécifié dans la variable "name". Cependant, la fonction Contient n'obtient pas uniquement la valeur spécifiée dans la variable "nom". Des idées pour lesquelles la création de l'act_nameList localise Jane en plus de ce qui a été demandé (Jane_2) mais ne localise pas Jane_3 ?Cela semble être un comportement étrange et je n'arrive pas à comprendre comment créer une liste contenant uniquement le texte spécifié dans le nom de la variable.Toutes les idées ou suggestions seraient appréciées.
nom = "Jane_2" ;
nameList = {"Jane", "Louise", "Katie", "Jane_2", "Becky", "Jane_3"} ;
act_nameList = {} ;
For( i = 1, i <= N Items( nameList ), i++,
Si( Contient( nom, nomListe ),
Insérer dans( act_nameList, nameList )
)
);
Show( act_nameList );
Re : Trouver le texte exact dans la listeEh bien,
Quel ding dong j'étais.Maintenant, je comprends parfaitement pourquoi j'obtenais les résultats que j'étais.Je n'ai pas prêté suffisamment attention à la syntaxe de la fonction Contient.Merci beaucoup d'avoir travaillé avec moi là-dessus.
Re : Trouver le texte exact dans la listeVous devrez inverser les arguments en contient pour obtenir ce résultat.Le premier argument de contains est la chaîne "principale" et le deuxième argument est la sous-chaîne que vous recherchez.
Voici votre code avec les arguments inversés, vous obtenez donc le résultat mentionné dans votre dernière réponse.
nom = "Jeanne" ;
liste de nom = { "Jeanne" , "Louise" , "Katie" , "Jeanne_2" , "Becky" , "Jeanne_3" } ;
act_nameList = {} ;
Pour ( je = 1 , je <= N articles ( liste de nom ) , je ++,
Si ( Contient ( liste de nom [ je ] , nom ) ,
Insérer dans ( act_nameList , liste de nom [ je ] )
)
) ;
Montrer ( act_nameList ) ;
Re : Trouver le texte exact dans la listeD'accord,
Je ne suis pas sûr de comprendre la subtilité de la déclaration encore. Par exemple, si
name = "Jane" pourquoi act_nameList = {"Jane", "Jane_2", "Jane_3"} puisque Jane est une sous-chaîne de chacun ?
Re : Trouver le texte exact dans la listeLa fonction contient fonctionne comme annoncé.
La déclaration contient("Jeanne_2", "Jeanne") renvoie vrai car Jeanne est une sous-chaîne de Jeanne_2
contient("Jeanne_2", "Jeanne_2") renvoie true aussi parce que Jeanne_2 est une sous-chaîne de Jeanne_2
contains("Jane_2", "Jane_3") renvoie false car Jane_3 n'est pas contenue dans Jane_2.
Je pense que vous voulez utiliser == pour une correspondance exacte au lieu de contient.
nom = "Jeanne_2" ;
liste de nom = { "Jeanne" , "Louise" , "Katie" , "Jeanne_2" , "Becky" , "Jeanne_3" } ;
act_nameList = {} ;
Pour ( je = 1 , je <= N articles ( liste de nom ) , je ++,
Si ( nom == liste de nom [ je ] ,
Insérer dans ( act_nameList , liste de nom [ je ] )
)
) ;
Montrer ( act_nameList ) ;