2012-01-02 45 views
23

Tôi đã trích xuất một số thông tin từ một diễn đàn. Đây là chuỗi nguyên tôi có bây giờ:Xóa chuỗi con bằng cách sử dụng 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' 

Điều tôi không thích là chuỗi tiểu "<font color="black"><font face="Times New Roman">""<font color="green"><font face="Arial">". Tôi muốn giữ phần còn lại của chuỗi ngoại trừ cái này. Vì vậy, kết quả sẽ như thế này

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

Tôi làm cách nào để thực hiện điều này? Trên thực tế tôi đã sử dụng súp đẹp để trích xuất chuỗi ở trên từ một diễn đàn. Bây giờ tôi có thể thích biểu thức chính quy hơn để loại bỏ phần.

+0

chuỗi này hiện không làm việc, nó có cả '" 'và' ' 'bên – juliomalegria

+0

@ThiefMaster Cám ơn sự ủng hộ. Làm thế nào tôi có thể loại bỏ nó? Đó là một sự xấu hổ chắc chắn –

+0

@ julio.alegria Hãy chỉ Hãy đối xử với điều giữa đầu "và kết thúc" như một chuỗi nếu bạn muốn thử nghiệm. Cảm ơn rất nhiều –

Trả lời

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" 

Các re.sub chức năng phải mất một cụm từ thông dụng và thay thế tất cả các trận đấu trong chuỗi với tham số thứ hai. Trong trường hợp này, chúng tôi đang tìm kiếm tất cả các thẻ ('<.*?>') và thay thế chúng bằng không có gì ('').

? được sử dụng trong re cho các tìm kiếm không tham lam.

Tìm hiểu thêm về re module.

+8

Bạn là anh hùng của tôi –

+0

@ Wenhao.SHE vui vì tôi đã giúp :) – juliomalegria

+0

điều này rất hữu ích .. cảm ơn tôi đã sử dụng điều này để loại bỏ đề cập (@s) trong tweet tweets cho dự án của tôi - 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

bạn cũng tuyệt vời –

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