Subcadena

En informática , una subcadena  es una parte conectada no vacía de una cadena .

Formal definición

Sea  una cadena de longitud .

Cualquier cadena donde , es una subcadena de longitud .

Ejemplo

Desde un punto de vista informático, las cadenas " kiped ", " Wiki ", " diya " son subcadenas de la cadena " Wikipedia "; mientras que " Wiki " es un prefijo y " diya " es un sufijo.

Wikipedia ||||||||| ||kiped|| |||| ||| wiki ||| diya

Obtener una subcadena

Si line  es la cadena de origen, begin  es el índice del primer carácter de la subcadena y end  es el índice del último carácter de la subcadena, entonces la sublínea de la subcadena se calcula de la siguiente manera:

En C

char* subline = ( char* )malloc( end - begin + 2 );
memcpy( subline, line + begin, end - begin + 1 );
subline[ end - begin + 1 ] = '\0';

En Python

subline = line[begin:end+1]

En el lenguaje python , una subcadena es un slice (rebanada) (en inglés  slice, array slicing ).

En Perl

my $subline = substr $line, $begin, $end - $begin + 1;

En PHP

$subline = substr($line, $begin, $end - $begin + 1);

En Pascal

subline := Copy(line, _begin, _end - _begin + 1);

En el lenguaje Ruby

subline = line[start..end]

En el lenguaje Java

subline = line.substring(begin,end+1)

Operaciones de subcadenas

Además de la tarea simple de extraer una subcadena de una cadena mediante dos índices, hay una tarea más compleja de encontrar índices que apunten a una subcadena dada en una cadena (buscar una ocurrencia de subcadena en una cadena).

Véase también