Trova il testo esatto nell'elenco<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sto lavorando con elenchi e funzioni di elenco e ho difficoltà a capire come individuare il testo esatto contenuto in un elenco.Ad esempio, nella seguente nameList vorrei creare un'altra lista se nameList contiene il testo esatto specificato nella variabile "name". Tuttavia, la funzione Contains non ottiene solo il valore specificato nella variabile "name". Qualche idea sul perché la creazione di act_nameList individua Jane oltre a quanto richiesto (Jane_2) ma non individua Jane_3?Sembra un comportamento strano e non riesco a capire come creare un elenco contenente solo il testo specificato nel nome della variabile.Tutte le idee o suggerimenti sarebbero apprezzati.
nome = "Jane_2";
nameList = {"Jane", "Louise", "Katie", "Jane_2", "Becky", "Jane_3"};
act_nameList = {};
For( i = 1, i <= N elementi( nameList ), i++,
If( Contiene( nome, nomeLista ),
Inserisci in( act_nameList, nameList )
)
);
Mostra( nome_attoLista );
Ri: Trova il testo esatto nell'elencoBeh,
Che ding dong ero.Ora capisco perfettamente perché stavo ottenendo i risultati che ero.Non ho prestato abbastanza attenzione alla sintassi della funzione Contains.Grazie mille per aver lavorato con me su questo.
Ri: Trova il testo esatto nell'elencoDovresti invertire gli argomenti in contains per ottenere quel risultato.Il primo argomento di contains è la stringa "principale" e il secondo argomento è la sottostringa che stai cercando.
Ecco il tuo codice con gli argomenti invertiti, quindi ottieni il risultato menzionato nella tua ultima risposta.
nome = "Jane" ;
Lista di nomi = { "Jane" , "Luigi" , "Katie" , "Jane_2" , "Becky" , "Jane_3" } ;
act_nameLista = {} ;
Per ( io = 1 , io <= N articoli ( Lista di nomi ) , io ++,
Se ( Contiene ( Lista di nomi [ io ] , nome ) ,
Inserire ( act_nameLista , Lista di nomi [ io ] )
)
) ;
Spettacolo ( act_nameLista ) ;
Ri: Trova il testo esatto nell'elencoVa bene,
Non sono ancora sicuro di aver compreso la sottigliezza dell'affermazione. Ad esempio, se
name = "Jane" perché non act_nameList = {"Jane", "Jane_2", "Jane_3"} poiché Jane è una sottostringa di ciascuno?
Ri: Trova il testo esatto nell'elencoLa funzione contiene funziona come pubblicizzato.
La dichiarazione contiene("Jane_2", "Jane") restituisce vero perché Jane è una sottostringa di Jane_2
contiene("Jane_2", "Jane_2") restituisce vero anche perché Jane_2 è una sottostringa di Jane_2
contains("Jane_2", "Jane_3") restituisce false perché Jane_3 non è contenuta in Jane_2.
Penso che tu voglia usare == per una corrispondenza esatta invece di contains.
nome = "Jane_2" ;
Lista di nomi = { "Jane" , "Luigi" , "Katie" , "Jane_2" , "Becky" , "Jane_3" } ;
act_nameLista = {} ;
Per ( io = 1 , io <= N articoli ( Lista di nomi ) , io ++,
Se ( nome == Lista di nomi [ io ] ,
Inserire ( act_nameLista , Lista di nomi [ io ] )
)
) ;
Spettacolo ( act_nameLista ) ;