2011/2/1 JJ Merelo <[email protected]>

> El día 1 de febrero de 2011 08:42, Javier Sanchez <[email protected]>
> escribió:
> >
> >
> > Hola chavales !
> >
> > tengo un problema muy sencillo que no termino de solucionar. En sed para
> > separar de un string/linea las palabras que
> > empiezan conuna mayuscula uso "/\([A-Z]\)/\ \1/g", el caso es que la
> misma
> > con tr ni con s soy capaz de que funcione
> > que se me escapa ?
>
> ¿Un ejemplo?
> De todas formas con tr no veo como puedes separar las palabras; con s
> tampoco lo tengo muy claro (¿sustituyendo por espacio?) ¿Has probado a
> usar algo así como
> my @palabras_mayuscula = ( $linea =~ /\b([A-Z]+)\b/ );
>
> (eso si no llevan caracteres latinos, claro)
>
> Saludos
>
> No se si he entendido bien lo que quieres hacer, si es que un string tal
que así:

"holaMundoQueTal"

Se convierta en esto:

"hola Mundo Que Tal"

En tu regexp te sobran los backslashes (\), en perl si los escapas los
considera literales (demasiado vi? ;)).

$ perl -ple 's/([A-Z])/ \1/g'
holaMundoMundial
hola Mundo Mundial

También puedes usar la ligeramente más eficiente (y mucho más molona) opción
del lookahead:

$ perl -ple 's/(?=[A-Z])/ /g'
holaMundoMundial
hola Mundo Mundial

¿Es esto lo que querías hacer?

Salu2,
D.


--
JJ
_______________________________________________
Madrid-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/madrid-pm
_______________________________________________
Madrid-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/madrid-pm

Responder a