2011-06-29 11 views
8

me hizo esto:pitón de expresiones regulares para reemplazar todas las líneas nuevas ventanas con espacios

from urllib import urlopen 
import nltk 
url = http://myurl.com 
html = urlopen(url).read() 
cleanhtml = nltk.clean_html(html) 

ahora tengo una larga cadena en Python que está llena de texto interrumpida periódicamente por ventanas nuevas líneas /r/n, y simplemente quiero eliminar todo de las ocurrencias de/r/n de la cadena usando una expresión regular. Primero quiero reemplazarlo con un espacio. Como tal, hice esto:

import re 
textspaced = re.sub("'\r\n'", r"' '", cleanhtml) 

... no funcionó. Entonces, ¿qué estoy haciendo mal?

Respuesta

11

Sólo un pequeño error de sintaxis:

htmlspaced = re.sub(r"\r\n", " ", html) 

debería funcionar.

26

No hay necesidad de usar expresiones regulares, simplemente

htmlspaced = html.replace('\r\n', ' ') 

Su programa no funcionó ya que agregó cotizaciones adicionales, sólo es necesario un conjunto.

+1

Duh. Por supuesto :) Mucho mejor que usar una expresión regular en este caso. –

Cuestiones relacionadas