2011-06-29 34 views
8

Tôi đã làm điều này:python regex để thay thế tất cả các cửa sổ dòng mới với không gian

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

bây giờ tôi có một chuỗi dài trong python được đầy đủ các văn bản bị gián đoạn định kỳ bởi các cửa sổ dòng mới /r/n, và tôi chỉ đơn giản là muốn xoá tất cả của sự xuất hiện của/r/n từ chuỗi bằng cách sử dụng một biểu thức chính quy. Đầu tiên tôi muốn thay thế nó bằng một không gian. Như vậy, tôi đã làm điều này:

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

... nó không hoạt động. Vậy tôi đang làm gì sai?

Trả lời

11

Chỉ cần một lỗi cú pháp nhỏ:

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

nên làm việc.

26

Không có nhu cầu sử dụng biểu thức thông thường, chỉ cần

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

chương trình của bạn không làm việc kể từ khi bạn thêm dấu ngoặc kép bổ sung, bạn chỉ cần một bộ.

+1

Duh. Tất nhiên :) Tốt hơn nhiều so với sử dụng một regex trong trường hợp này. –

Các vấn đề liên quan