2012-01-02 26 views
23

Ya extraigo algo de información de un foro. Es la cadena de texto que tengo ahora:Eliminar subcadena usando Python

string = 'i think mabe 124 + <font color="black"><font face="Times New Roman">but I don\'t have a big experience it just how I see it in my eyes <font color="green"><font face="Arial">fun stuff' 

Lo que no me gusta es la cadena sub "<font color="black"><font face="Times New Roman">" y "<font color="green"><font face="Arial">". Sí quiero guardar la otra parte de la cuerda excepto esto. El resultado debería ser así

resultString = "i think mabe 124 + but I don't have a big experience it just how I see it in my eyes fun stuff" 

¿Cómo podría hacer esto? En realidad usé una hermosa sopa para extraer la cadena de arriba de un foro. Ahora puedo preferir la expresión regular para eliminar la parte.

+0

esta cadena no está actualmente trabajando, que tiene tanto '" 'y' ' 'dentro – juliomalegria

+0

@ThiefMaster Gracias por el apoyo. ¿Cómo podría eliminarlo? Es una vergüenza para el seguro de –

+0

@ julio.alegria Por favor, sólo trata la cosa entre "comenzar" y "terminar" como una cadena si quieres probar. Muchas gracias –

Respuesta

53
import re 
re.sub('<.*?>', '', string) 
"i think mabe 124 + but I don't have a big experience it just how I see it in my eyes fun stuff" 

La función re.sub toma una expresion regular y reemplazar todas las coincidencias de la cadena con el segundo parámetro. En este caso, estamos buscando todas las etiquetas ('<.*?>') y reemplazándolas por nada ('').

El ? se utiliza en re para búsquedas no codiciosas.

Más información acerca del re module.

+8

Eres mi héroe –

+0

@ Wenhao.SHE me alegro de haber ayudado :) – juliomalegria

+0

esto es muy útil ... gracias. Lo usé para eliminar menciones (@s) en Twitter tweets para mi proyecto - re.sub ('@. * ? ',' ', tweetText) – sumanth232

10
>>> import re 
>>> st = " i think mabe 124 + <font color=\"black\"><font face=\"Times New Roman\">but I don't have a big experience it just how I see it in my eyes <font color=\"green\"><font face=\"Arial\">fun stuff" 
>>> re.sub("<.*?>","",st) 
" i think mabe 124 + but I don't have a big experience it just how I see it in my eyes fun stuff" 
>>> 
+7

también eres genial –

Cuestiones relacionadas