Publicado el :
Macro CREATION_INTERNE

Búsqueda del segundo delimitador en una cadena

Este código también está disponible en: Deutsch English Français
La macro `AHGindex2` toma dos argumentos: `str` (la cadena a analizar) y `dlm` (el delimitador a buscar). Inicializa una variable `result` en 0 y recorre la cadena carácter por carácter. Utiliza las variables locales `one` para marcar la primera ocurrencia del delimitador y `result` para almacenar el índice de la segunda ocurrencia. La macro devuelve el índice de la segunda ocurrencia del delimitador. Si el segundo delimitador no se encuentra o si solo hay una ocurrencia, devuelve 0.
Análisis de datos

Type : CREATION_INTERNE


Los datos se proporcionan directamente a través de los parámetros de la macro (`str` y `dlm`). No se realiza ninguna lectura de archivo externo o de librería SAS.

1 Bloque de código
MACRO DEFINITION
Explicación :
Este bloque define la macro `AHGindex2`. Utiliza un bucle `%do` para iterar sobre la cadena `str`. La función `%qsubstr` se utiliza para extraer un carácter a la vez. La lógica identifica la primera ocurrencia del delimitador usando la variable `one` y, una vez encontrada, busca la segunda ocurrencia almacenando su índice en `result`.
¡Copiado!
1%macro AHGindex2(str,dlm);
2%local i one RESULT;
3%let RESULT=0;
4%DO i=1 %to %LENGTH(&str);
5%IF %qsubstr(&str,&i,1) = &dlm and (&RESULT=0) and (&one=1) %THEN %let RESULT=&i;
6%IF %qsubstr(&str,&i,1) eq &dlm %THEN %let one=1;
7%END;
8&RESULT
9%mend;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.