Encuentra el texto exacto en la lista<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Estoy trabajando con listas y funciones de lista y tengo dificultades para descubrir cómo ubicar el texto exacto contenido en una lista.Por ejemplo, en la siguiente lista de nombres me gustaría crear otra lista si la lista de nombres contiene el texto exacto especificado en la variable "nombre". Sin embargo, la función Contiene no obtiene solo el valor especificado en la variable "nombre". ¿Alguna idea de por qué la creación de act_nameList ubica a Jane además de lo que se solicitó (Jane_2) pero no ubica a Jane_3?Esto parece un comportamiento extraño y no puedo entender cómo crear una lista que contenga solo el texto especificado en el nombre de la variable.Cualquier idea o sugerencia será apreciada.
nombre = "Jane_2";
nameList = {“Jane”, “Louise”, “Katie”, “Jane_2”, "Becky", "Jane_3"};
act_nameList = {};
For( i = 1, i <= N Elementos( listanombres ), i++,
If( Contiene( nombre, listanombres ),
Insertar en( act_nameList, nameList )
)
);
Mostrar (act_nameList);
Re: encontrar el texto exacto en la listaBueno duh,
Que ding dong fui.Ahora entiendo completamente por qué estaba obteniendo los resultados que estaba.No presté suficiente atención a la sintaxis de la función Contiene.Muchas gracias por trabajar conmigo en esto.
Re: encontrar el texto exacto en la listaTendría que revertir los argumentos a contiene para obtener ese resultado.El primer argumento de contains es la cadena "principal", y el segundo argumento es la subcadena que está buscando.
Aquí está su código con los argumentos invertidos, por lo que obtiene el resultado mencionado en su última respuesta.
nombre = "Jane" ;
lista de nombres = { "Jane" , "Luisa" , "Katie" , "Jane_2" , "Becky" , "Jane_3" } ;
nombre_actoLista = {} ;
Para ( i = 1 , i <= N artículos ( lista de nombres ) , i ++,
Si ( Contiene ( lista de nombres [ i ] , nombre ) ,
Insertar en ( nombre_actoLista , lista de nombres [ i ] )
)
) ;
Espectáculo ( nombre_actoLista ) ;
Re: encontrar el texto exacto en la listaBueno,
No estoy seguro de entender la sutileza de la declaración todavía. Por ejemplo, si
nombre = "Jane" ¿por qué no act_nameList = {"Jane", "Jane_2", "Jane_3"} ya que Jane es una subcadena de cada uno?
Re: encontrar el texto exacto en la listaLa función contiene funciona como se anuncia.
La declaración contiene("Jane_2", "Jane") devuelve verdadero porque jane es una subcadena de jane_2
contiene ("Jane_2", "Jane_2") devuelve verdadero también porque jane_2 es una subcadena de jane_2
contains("Jane_2", "Jane_3") devuelve falso porque Jane_3 no está contenido en Jane_2.
Creo que quieres usar == para una coincidencia exacta en lugar de contiene.
nombre = "Jane_2" ;
lista de nombres = { "Jane" , "Luisa" , "Katie" , "Jane_2" , "Becky" , "Jane_3" } ;
nombre_actoLista = {} ;
Para ( i = 1 , i <= N artículos ( lista de nombres ) , i ++,
Si ( nombre == lista de nombres [ i ] ,
Insertar en ( nombre_actoLista , lista de nombres [ i ] )
)
) ;
Espectáculo ( nombre_actoLista ) ;