Función Perl Substr() y su aplicación y sintaxis

Función Perl Substr() y su aplicación

Ejemplo de la función substr() de Perl, código de ejemplo de la función substr(): devuelve una subcadena de EXPR, comenzando en el desplazamiento OFFSET dentro de la cadena.

gramática:

subVYRoBPstr EXPR, COMPENSACIÓN, LEN, REEMPLAZO

substr EXPR, COMPENSACIÓN, LEN

substr EXPR, COMPENSACIÓN

Definición y uso

Devuelve una subcadena de EXPR, comenzando en el desplazamiento OFFSET dentro de la cadena. Si OFFSET es negativo, comience la cadena con esa cantidad de caracteres al final. Si se especifica LEN, devuelve el número de bytes, o todos los bytes hasta el final de la cadena (si no se especifica). Si len es negativo, cuántos caracteres para terminar la cadena.

Si reemplaza la subcadena especificada por REEMPLAZO, reemplace la cadena de REEMPLAZO.

Si especifica una subcadena, más allá del final de la cadena, solo se devuelven elementos válidos de la cadena original.

valor de retorno

cadena

ejemplo

Pruebe el siguiente ejemplo:

#!/usr/bin/perl-w

#por yiibai.com

$temp = substr("bien", );

print "El valor de la subcadena es $temp\n";

$temp = substr("bien", ,);

print "El valor de la subcadena es $temp\n";

Esto producirá el siguiente resultado:

El valor de la subcadena es ay

El valor de la subcadena es ka

Análisis de instancias de la aplicación de la función substr de Perl

Este artículo se centra en la aplicación de la función substr de Perl. Al escribir un programa en Perl, a veces necesitamos interceptar parte de una cadena. En este momento, generalmente usamos la función substr para lograr esta función.

Aplicación de la función substr de Perl

Cuando escribimos un programa Perl, a veces necesitamos interceptar parte de una cadena, en este momento, generalmente usamos la función substr de Perl para lograr esta función.

$str="pruebaprueba";

printsubstr($cadena,0,5);

$str="pruebaprueba";

printsubstr($cadena,0,5);

Ejecute el programa anterior, el resultado es "testt", este es el resultado que queremos. Mira el siguiente programa de nuevo:

$str="texto de prueba";

printsubstr($cadena,0,1);

$str="texto de prueba";

printsubstr($cadena,0,1);

En este momento, se emite un "?", que obviamente no es el resultado que queremos. Porque en perl, todas las cadenas ingresadas desde el exterior (incluidas las cadenas escritas en el programa) se tratarán como bytes, "printsubstr($str,0,1);" Esta oración solo pone "texto de prueba" El primer byte se elimina y salida con impresión, pero un solo byte no puede representar un carácter chino, por lo que se emite "?".

Si desea que el programa anterior genere el resultado correcto, debe usar la función de decodificación para convertir el "texto de prueba" en una cadena interna de Perl, deje que Perl trate el "texto de prueba" como una cadena y luego use "substr( $str, 0,1);"La intercepción no es un byte, sino un carácter chino.

Echemos un vistazo al uso de la función substr de Perl:

Comando: substr

Sintaxis: substr($cadena, desplazamiento, longitud)

el desplazamiento representa la posición del carácter inicial, la longitud representa la longitud de la cadena citada y, si se omite la longitud, representa la longitud desde el valor inicial hasta el último carácter de la cadena. y

Si el desplazamiento es un valor negativo, los caracteres se especificarán desde el lado derecho de la cadena.

Ejemplo:

$s=substr("perl5",2,2);#En este momento $s="rl";

$s=substr("perl5",2);#En este momento $s="rl5";

$s=substr("perl5",-2,2);#En este momento $s="er";

Supongo que te gusta

Origin blog.csdn.net/G171104/article/details/131902269
Recomendado
Clasificación