Operaciones básicas en texto

Las operaciones básicas en el texto incluyen operaciones para la coincidencia de cadenas, el cálculo de la longitud de una cadena y el control de la distinción entre mayúsculas y minúsculas. Puede incluir espacios en blanco en una cadena que se pasa como argumento a una expresión, pero la cadena no puede superar los 255 caracteres.

Funciones de comparación de cadenas

La tabla siguiente muestra las operaciones básicas de coincidencia de cadenas en las que las funciones devuelven un valor booleano VERDADERO o FALSE.

Función Descripción
<text>.CONTAINS(<string>) Devuelve un valor booleano TRUE si el destino contiene<string>. Ejemplo:http.req.url.contains(".jpeg")
<text>.EQ(<string>) Devuelve un valor booleano TRUE si el objetivo coincide exactamente con `. For example, the following expression returns a Boolean TRUE for a URL with a host name of “myhostabc”: `http.req.url.hostname.eq ("myhostabc") \`
<text>.STARTSWITH(<string>) Devuelve un valor booleano TRUE si el objetivo comienza por<string>. Por ejemplo, la siguiente expresión devuelve un valor booleano TRUE para una URL con un nombre de host de “myhostabc”: http.req.url.hostname.startswith("myhost")
<text>.ENDSWITH(<string>) Devuelve un valor booleano TRUE si el objetivo termina en <string>. Por ejemplo, la siguiente expresión devuelve un valor booleano TRUE para una URL con un nombre de host de “myhostabc”: http.req.url.hostname.endswith("abc")
<text>.NE(<string>) Devuelve un valor booleano TRUE si el prefijo no es igual al argumento de cadena. Si el prefijo devuelve un valor que no sea de cadena, el argumento function se compara con la representación de cadena del valor devuelto por el prefijo. Puede utilizar las funciones conSET_TEXT_MODE(IGNORECASE) or SET_TEXT_MODE(NOIGNORECASE), y con ambos conjuntos de caracteres ASCII y UTF-8.
<text>.GT(<string>) Devuelve un valor booleano TRUE si el prefijo es alfabéticamente mayor que el argumento string. Si el prefijo devuelve un valor que no sea de cadena, el argumento function se compara con la representación de cadena del valor devuelto por el prefijo. Puede utilizar las funciones con SET_TEXT_MODE(IGNORECASE) o, SET_TEXT_MODE(NOIGNORECASE)y con ambos conjuntos de caracteres ASCII y UTF-8.
<text>.GE(<string>) Devuelve un valor booleano TRUE si el prefijo es alfabéticamente mayor o igual que el argumento string. Si el prefijo devuelve un valor que no sea de cadena, el argumento function se compara con la representación de cadena del valor devuelto por el prefijo. Puede utilizar las funciones con SET_TEXT_MODE(IGNORECASE) o, SET_TEXT_MODE(NOIGNORECASE)y con ambos conjuntos de caracteres ASCII y UTF-8.
<text>.LT(<string>) Devuelve un valor booleano TRUE si el prefijo es alfabéticamente menor que el argumento string. Si el prefijo devuelve un valor que no sea de cadena, el argumento function se compara con la representación de cadena del valor devuelto por el prefijo. Puede utilizar las funciones con SET_TEXT_MODE(IGNORECASE) o, SET_TEXT_MODE(NOIGNORECASE)y con ambos conjuntos de caracteres ASCII y UTF-8.
<text>.LE(<string>) Devuelve un valor booleano TRUE si el prefijo es alfabéticamente menor o igual que el argumento string. Si el prefijo devuelve un valor que no sea de cadena, el argumento function se compara con la representación de cadena del valor devuelto por el prefijo. Puede utilizar las funciones con SET_TEXT_MODE(IGNORECASE) o, SET_TEXT_MODE(NOIGNORECASE)y con ambos conjuntos de caracteres ASCII y UTF-8.

Calcular la longitud de una cadena

La<text>.LENGTH operación devuelve un valor numérico que es igual al número de caracteres (no bytes) de una cadena:

<text>.LENGTH

Por ejemplo, es posible que quiera identificar direcciones URL de solicitud que superen una longitud determinada. Lo que sigue es una expresión que implementa este ejemplo:

HTTP.REQ.URL.LENGTH < 500

Después de contar los caracteres o elementos de una cadena, puede aplicarles operaciones numéricas. Para obtener más información, consulte Expresiones de sintaxis predeterminadas: trabajo con fechas, horas y números.

Considerar, ignorar y cambiar mayúsculas y minúsculas de texto

Las siguientes funciones operan en mayúsculas o minúsculas de los caracteres de la cadena.

|Función|Descripción| |— |— | |<text>.SET_TEXT_MODE(IGNORECASE| NOIGNORECASE) |Esta función activa o desactiva la sensibilidad de mayúsculas y minúsculas para todas las operaciones de texto. | |<text>.TO_LOWER|Convierte el objetivo en minúsculas para un bloque de texto de hasta 2 kilobytes (KB). Devuelve UNDEF si el destino supera los 2 KB. Por ejemplo, la cadena “abCD:” se convierte en “abcd:”.| |<text>.TO_UPPER|Convierte el objetivo en mayúsculas. Devuelve UNDEF si el destino supera los 2 KB. Por ejemplo, la cadena “ABCD:” se convierte en “ABCD:”.|

Desnudar caracteres específicos de una cadena

Puede utilizar la función STRIP_CHARS (<string>) para eliminar caracteres específicos del texto devuelto por un prefijo de expresión de sintaxis predeterminado (la cadena de entrada). Todas las instancias de los caracteres especificados en el argumento se eliminan de la cadena de entrada. Puede utilizar cualquier método de texto en la cadena resultante, incluidos los métodos utilizados para hacer coincidir la cadena con un conjunto de patrones.

Por ejemplo, en la expresión CLIENT.UDP.DNS.DOMAIN.STRIP_CHARS (“.-_”), la función STRIP_CHARS (<string>) elimina todos los puntos (.), guiones (-) y guiones bajos (_) del nombre de dominio devuelto por el prefijo CLIENT.UDP.DNS.DOMAIN. Si el nombre de dominio que se devuelve es “un.dom_ai_n-name”, la función devuelve la cadena “adomainname”.

En el siguiente ejemplo, la cadena resultante se compara con un conjunto de patrones llamado “listofdomains”:

CLIENT.UDP.DNS.DOMAIN.STRIP_CHARS(".-_").CONTAINS_ANY("listofdomains")

Nota: No se puede realizar una reescritura en la cadena devuelta por la STRIP_CHARS(<string>) función.

Las siguientes funciones quitan caracteres coincidentes desde el principio y el final de una entrada de cadena dada.

Función Descripción
<text>.STRIP_START_CHARS(s) Elimina los caracteres coincidentes desde el principio de la cadena de entrada hasta que se encuentra el primer carácter no coincidente y devuelve el resto de la cadena. Debe especificar los caracteres que quiere quitar como una sola cadena entre comillas. Por ejemplo, si el nombre de un encabezado es TestLang y:/en_us:es su valor, HTTP.RES.HEADER (“TestLang”).STRIP_START_CHARS (“:”) elimina los caracteres especificados desde el principio del valor de la cabecera hasta que se encuentre el primer carácter no coincidente e y returnsen_us: como un cadena.
<text>.STRIP_END_CHARS Tiras caracteres coincidentes desde el final de la cadena de entrada al primer carácter no coincidente se encuentra y devuelve el resto de la cadena. Debe especificar los caracteres que quiere quitar como una sola cadena entre comillas. Por ejemplo, si el nombre de un encabezado es TestLang y:/en_us:es su valor, HTTP.RES.HEADER (“TestLang”).STRIP_START_CHARS (“:”) elimina los caracteres especificados del final del valor del encabezado hasta que se encuentre el primer carácter no coincidente s y devuelve: /_en_us como cadena.

Anexar una cadena a otra cadena

Puede utilizar la función APPEND () para anexar la representación de cadena del argumento a la representación de cadena del valor devuelto por la función anterior. La función anterior puede ser aquella que devuelve un número, sin signo largo, doble, valor de tiempo, dirección IPv4 o dirección IPv6. El argumento puede ser una cadena de texto, número, longitud sin signo, doble, valor de tiempo, dirección IPv4 o dirección IPv6. El valor de cadena resultante es el mismo valor de cadena que se obtiene mediante el operador +.