En varios lenguajes de programación , como Perl , la notación de llaves es una forma más rápida de extraer bytes de una variable de cadena .
Un ejemplo de notación de llaves que utiliza pseudocódigo que extraería el carácter 82 de la cadena es:
a_byte = una_cadena{82}
El equivalente de esto utilizando una función hipotética 'MID' es:
a_byte = MID(a_cadena, 82, 1)
En C , las cadenas se representan normalmente como una matriz de caracteres en lugar de un tipo de datos de cadena real. El hecho de que una cadena sea en realidad una matriz de caracteres significa que hacer referencia a una cadena significaría hacer referencia al primer elemento de una matriz. Por lo tanto, en C, el siguiente es un ejemplo legítimo de notación de llaves:
#include <stdio.h> #include <string.h> #include <stdlib.h> int main ( int argc , char * argv []) { char * a_string = "Test" ; printf ( "%c" , a_string [ 0 ]); // Imprimiría "T" printf ( "%c" , a_string [ 1 ]); // Imprimiría "e" printf ( "%c" , a_string [ 2 ]); // Imprimiría "s" printf ( "%c" , a_string [ 3 ]); // Imprimiría "t" printf ( "%c" , a_string [ 4 ]); // Imprimiría el carácter 'nulo' (ASCII 0) para el final de la cadena return ( 0 ); }
Tenga en cuenta que cada uno de a_string[n] tendría un tipo de datos 'char' mientras que a_string en sí mismo devolvería un puntero al primer elemento de la matriz de caracteres a_string.
C# maneja la notación entre llaves de forma diferente. Una cadena es un tipo primitivo que devuelve un carácter cuando se encuentra con notación entre llaves:
Cadena var = "Hola mundo" ; carbón h = var [ 0 ]; char e = var [ 1 ]; Cadena jeje = h . ToString () + mi . ToString (); // cadena "él" jeje += jeje ; // cadena "jeje"
Para cambiar el tipo char a una cadena en C#, utilice el método ToString() . Esto permite unir caracteres individuales con el símbolo de adición + que actúa como un símbolo de concatenación cuando se trabaja con cadenas.
En Python , las cadenas son inmutables , por lo que es difícil modificar una cadena existente, pero es fácil extraer y concatenar cadenas entre sí: Extraer caracteres es aún más fácil:
>>> var = 'hola mundo' >>> var [ 0 ] # Devuelve el primer carácter como una cadena de una sola letra 'h' >>> var [ - 1 ] 'd' >>> var [ len ( var ) - 1 ] # len(var) es la longitud de la cadena en var; len(var)-1 es el índice del último carácter de la cadena. 'd' >>> var = var + ' ' + var [ 8 ] + var [ 7 ] + var [ 2 ] + var [ 1 ] >>> var 'hola rol mundial'
Python es flexible en lo que respecta a los detalles; tenga en cuenta que var[-1] toma -1 como número de índice. Ese índice se interpreta como el primer carácter que comienza desde el final de la cadena. Considere 0 como el límite del índice para una cadena; cero es inclusivo, por lo tanto, devolverá el primer carácter. En el índice 1 y superiores, todos los caracteres que pertenecen a cada índice se "extraen" de izquierda a derecha. En el índice -1 y inferiores, todos los caracteres se "extraen" de derecha a izquierda. Dado que no hay más caracteres antes del índice 0, Python "redirige" el cursor al final de la cadena donde los caracteres se leen de derecha a izquierda. Si una cadena tiene una longitud n , entonces el límite de índice máximo es n-1 y el límite de índice mínimo es -n, que devuelve el mismo carácter que el índice 0, es decir, el primer carácter.
También es posible extraer una secuencia de caracteres:
>>> var [ 0 : 5 ] 'hola'
Tenga en cuenta que el último número de la secuencia es exclusivo. Python extrae caracteres que comienzan en el índice 0 hasta el 5, excluido.
También se puede extraer cada carácter x de la secuencia, en este caso x=2:
>>> var = 'abcdefghijklmn' >>> var [ 0 : len ( var ): 2 ] 'acegikm'
Las cadenas PHP pueden crecer mucho y pueden utilizar toda la memoria disponible, si se produce una cadena lo suficientemente grande. Por lo general, si ese es el caso, puede ser mejor dividir una cadena en una matriz para un control más preciso. La notación de llaves en PHP se ve así:
$a = "Hola" . 'Mundo' ; $c = $a [ 0 ] . $a [ 1 ] . $a [ 8 ] . $a [ 3 ] . $a [ 6 ]; echo $c . " " . strlen ( $c ); // Hola 5
Tenga en cuenta que la variable $a acepta caracteres dentro de comillas dobles o simples como la misma cadena. PHP espera que la cadena termine con las mismas comillas que las comillas iniciales. La notación entre llaves en una cadena siempre devuelve un tipo de cadena.
La notación de llaves de JavaScript funciona igual que en C# y PHP.
var myString = "Hola" + "Mundo" ; alert ( myString [ 0 ] + " " + myString [ 5 ]); // alerta el mensaje: HW
MATLAB maneja la notación de llaves de forma ligeramente diferente a la mayoría de los lenguajes de programación comunes.
>> var = 'Hola mundo' var = Hola Mundo >> var ( 1 ) respuesta = yo
Las cadenas comienzan con el índice 1 entre paréntesis , ya que se las trata como matrices. Una característica útil de la notación entre llaves en MATLAB es que admite un rango de índices, de forma similar a Python:
>> var ( 1 : 8 ) respuesta = Hola Wo >> var ( 1 : longitud ( var )) respuesta = Hola Mundo
El uso de corchetes [ ] está reservado para la creación de matrices en MATLAB.