Una de expresiones regulares

Buenas.

A ver si algún experto en expresiones regulares me puede solucionar
esto.

Necesito sacar de ficheros cuyo formato es números, guiones bajos y
letras,
algo parecido a esto:
1_44160_4416001_FL_1.pdf
1_44160_4416001_PROFORMA_FACT_1.doc
2_32213_33321_AL.xls

De estos nombres, me interesaría sacar sólo lo que está en mayúsculas
por un
lado y sólo lo que está a la derecha del punto por el otro.
He probado

cadena.gsub(/[0-9]+_/,"")

pero no me recorta lo del final

¿Una ayudita?

Gracias

Creo que lo que te falta es incluir el _ en la primera secuencia:

/[0-9,_]+/

fich = cadena.gsub(/[0-9,_]/,"")

y para quedarme con la extensión del fichero:

re = /.(\w+)/
md = re.match(fich)
ext = md[1]

El 17/07/07, Sebastian D. [email protected]
escribió:> Creo que lo que te falta es incluir el _ en la primera secuencia:

Muchas gracias por las respuestas amigos.

Xavier, en ese caso me valdría con PROFORMAFACT, aunque si saliese
PROFORMA_FACT, casi mejor.

Un saludo

El Jul 18, 2007, a las 8:10 AM, Luis V.
escribió:

Muchas gracias por las respuestas amigos.

Xavier, en ese caso me valdría con PROFORMAFACT, aunque si saliese
PROFORMA_FACT, casi mejor.

Hola Luis, va una opcion mas que conserva subrayados, tantos como haya:

[email protected]:~/tmp$ cat extract.rb
filenames = %w(
1_44160_4416001_FL_1.pdf
1_44160_4416001_PROFORMA_FACT_1.doc
2_32213_33321_AL.xls
45_FOO_BAR_BAZ_37.rb
)

filenames.each do |f|
if f =~ /(A-Z)[^.].(.+)$/
puts “%-15s %s” % [$1, $2]
end
end

[email protected]:~/tmp$ ruby extract.rb
FL pdf
PROFORMA_FACT doc
AL xls
FOO_BAR_BAZ rb

Muchas gracias. Me funcionan perfectamente

El Jul 17, 2007, a las 6:53 PM, Luis V.
escribió:

Necesito sacar de ficheros cuyo formato es números, guiones bajos y
letras, algo parecido a esto:
1_44160_4416001_FL_1.pdf
1_44160_4416001_PROFORMA_FACT_1.doc
2_32213_33321_AL.xls

De estos nombres, me interesaría sacar sólo lo que está en
mayúsculas por un lado y sólo lo que está a la derecha del punto
por el otro.

1_44160_4416001_PROFORMA_FACT_1.doc

En este caso cual es la subcadena en mayusculas que has de extraer?

– fxn