Concatenación


En la teoría del lenguaje formal y la programación informática , la concatenación de cadenas es la operación de unir cadenas de caracteres de extremo a extremo . Por ejemplo, la concatenación de "nieve" y "bola" es "bola de nieve". En ciertas formalizaciones de la teoría de la concatenación , también llamada teoría de cuerdas, la concatenación de cuerdas es una noción primitiva .

En muchos lenguajes de programación , la concatenación de cadenas es un operador infijo binario . El operador (más) a menudo se sobrecarga para indicar la concatenación de argumentos de cadena: tiene el valor . En otros lenguajes hay un operador separado, particularmente para especificar la conversión de tipo implícito a cadena, a diferencia del comportamiento más complicado para el plus genérico. Los ejemplos incluyen Edinburgh IMP , Perl y PHP, Lua y Ada , AppleScript y Visual Basic. [1] Existe otra sintaxis, como en PL/I y Oracle Database SQL . [2]+"Hello, " + "World""Hello, World"...&||

En algunos lenguajes, en particular C, C++ y Python, existe una concatenación de literales de cadena , lo que significa que los literales de cadena adyacentes se concatenan, sin ningún operador: "Hello, " "World"tiene el valor "Hello, World". En otros lenguajes, la concatenación de literales de cadena con un operador se evalúa en tiempo de compilación, a través de un plegado constante , aunque esto suele ser un detalle de implementación del compilador, en lugar de una característica del lenguaje.

En la programación, la concatenación de cadenas generalmente ocurre en tiempo de ejecución, ya que los valores de cadena generalmente no se conocen hasta el tiempo de ejecución. Sin embargo, en el caso de los literales de cadena, los valores se conocen en el momento de la compilación y, por lo tanto, la concatenación de cadenas se puede realizar en el momento de la compilación, ya sea mediante la concatenación de literales de cadena o mediante el plegado constante .

En la teoría del lenguaje formal y la coincidencia de patrones (incluidas las expresiones regulares ), la operación de concatenación en cadenas se generaliza a una operación en conjuntos de cadenas de la siguiente manera:

Para dos conjuntos de cadenas S 1 y S 2 , la concatenación S 1 S 2 consta de todas las cadenas de la forma vw donde v es una cadena de S 1 y w es una cadena de S 2 , o formalmente S 1 S 2 = { vw  : vS 1 , wS 2 }. Muchos autores también usan la concatenación de un conjunto de cadenas y una sola cadena, y viceversa, que se definen de manera similar por S 1 w = { vw  : vS 1 } y vS 2 = { vw  : wS 2 } . En estas definiciones, la cadena vw es la concatenación ordinaria de cadenas v y w como se define en la sección introductoria.