Mar Abr 08, 2008 4:24 pm
|
|
|
| split |
|
|
¡Hola de nuevo!
Gracias a todos, porque esta web me está sirviendo de gran ayuda. Os lo estimo mucho.
La duda que tengo ahora es cómo utilizar "split" sin que "coma" nada; esto es, si tengo una cadena como ésta:
| Perl: | $cadena = "ladudaquetengoahoraesusarbienelsplit"; |
¿Cómo puedo hacer para crear un array con elementos que empiecen en "a", las 'a' incluidas? Esto es:
| Perl: | @array_cadena = qw( l adud aquetengo ahor aesus arbienelsplit "; |
Si pongo @array_cadena = split (/a/, $cadena), ¡me come todas las 'a'!
¿Es posible hacer esto?
Gracias... |
|
|
|
Mar Abr 08, 2008 5:13 pm
|
|
|
|
|
|
Bueno, ya me respondo yo...
He encontrado la solución en una web: basta con poner paréntesis en la parte / / del split. Voilà...! |
|
Sab Abr 12, 2008 9:09 am
|
 |
Jenda
Perlero Frecuente

|
Registrado: 29 Oct 2007
Mensajes: 106
Ubicación: Praga, Republica Checa
|
|
|
|
|
| Perl: | @array_cadena = ($cadena =~ / ((?:^.|a )[^a ]* )/g );
print join(',', @a); |
Si no hay delimitadores no usa split(), usa regexps. |
|

Mar Jul 08, 2008 2:50 pm
|
 |
chechoman
Perlero Nuevo

|
Registrado: 02 Jul 2008
Mensajes: 19
|
|
|
|
|
Hola, yo tengo un rollo similar: tengo que hacer una comparación sha1 de un archivo zip que descargo. Lo que sucede es que el sitio de donde lo descargo colocan el sha1 dentro del nombre del mismo archivo zip y éste queda algo similar así:
| Código: |
| Nombrefecha.xml.zip.0000aaaaaabbbb000000.xxxx |
Si nos fijamos bien el nombre del archivo está separado por 4 puntos, el cual pensé sería el carácter delimitador, yo estoy tratando de hacer un script que me lea el nombre del archivo y meta ese nombre en una cadena, la separe y me tome solo en cuenta 00000aaaaaaabbb00000 (este número siempre cambia pero esta parte es la que trato de leer) Una vez separada meta este valor en una variable para yo poder compararlo con el sha1 que ya logro sacar.
He estado usando split pero no logro llegar a los caracteres que necesito. |
|

Mar Jul 08, 2008 3:04 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4140
Ubicación: Valladolid, España
|
|
|
|
|
| Perl: | $nombre_del_fichero = 'Nombrefecha.xml.zip.0000aaaaaabbbb000000.xxxx';
@nombre_del_fichero = split(/\./, $nombre_del_fichero);
$sha1 = $nombre_del_fichero[3]; |
| Perl: | $nombre_del_fichero = 'Nombrefecha.xml.zip.0000aaaaaabbbb000000.xxxx';
$sha1 = (split /\./, $nombre_del_fichero)[3]; |
| Perl: | $nombre_del_fichero = 'Nombrefecha.xml.zip.0000aaaaaabbbb000000.xxxx';
($sha1) = $nombre_del_fichero =~ /zip\.([^.]+)/; |
|
|
Powered by phpBB © 2001, 2005 phpBB Group
|