es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Índice de un patrón en un vector de cadenas con valores faltantes en Julia.

Estoy intentando recuperar el índice de todas las instancias de un patrón en un vector de cadenas con valores faltantes.

Por ejemplo, ¿cómo puedo obtener un vector con el índice de todas las instancias que contengan el patrón “a” de:

x = ["ab", "ca", "bc", missing, "ad"]

El resultado deseado sería:

Vector([1, 2, 5])
3-element Vector{Int64}:
 1
 2
 5

Estos son los índices en los que aparece el patrón.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para recuperar el índice de todas las instancias de un patrón en un vector de cadenas con valores faltantes, puedes usar la función findall() en conjunto con occursin().

    Aquí tienes un ejemplo de código:

    x = ["ab", "ca", "bc", missing, "ad"]
    pattern = "a"
    idx = findall(x -> occursin(pattern, x), x .!= missing)
    

    En este ejemplo de código, primero definimos nuestro vector de cadenas x con valores faltantes. Luego, definimos nuestro patrón como el carácter “a”. Usamos findall() para encontrar los índices de los elementos en x que satisfacen la condición especificada en la función anónima; es decir, usamos occursin() para verificar si el patrón está presente en la cadena y filtramos cualquier valor faltante con x .!= missing.

    El vector resultante idx debería contener los índices de todas las instancias del patrón en el vector x, ignorando cualquier valor faltante.

Comments are closed.