funcion - perl substr




dividir() pero mantener delimitador (2)

Nunca he usado Perl antes y tengo una pregunta básica.

 my $string1 = "Hi. My name is Vlad. It is snowy outside.";

 my @array = split('.' $string1); ##essentially I want this, but I want the period to be kept

Quiero dividir esta cadena en el '.' Pero quiero mantener el período. ¿Cómo se puede lograr esto?


Puedes usar lookbehind para hacer esto:

split(/(?<=\.)/, $string)

La expresión regular coincide con una cadena vacía que sigue a un período.

Si desea eliminar el espacio en blanco entre las oraciones al mismo tiempo, puede cambiarlo a:

split(/(?<=\.)\s*/, $string)

La mirada positiva y negativa se explica here


Si no te importa que los períodos se dividan en sus propios elementos en la matriz, puedes usar paréntesis para indicar a split para mantenerlos:

my @array = split(/(\.)/, $string);






split