trạng:Chụp nội dung của một regex và xóa chúng, hiệu quả
- văn bản: một chuỗi
- R: a regex phù hợp với một phần của chuỗi. Điều này có thể tốn kém để tính toán.
Tôi muốn xóa cả các đối sánh R khỏi văn bản và xem nội dung chúng thực sự chứa. Hiện tại, tôi làm như sau:
import re
ab_re = re.compile("[ab]")
text="abcdedfe falijbijie bbbb laifsjelifjl"
ab_re.findall(text)
# ['a', 'b', 'a', 'b', 'b', 'b', 'b', 'b', 'a']
ab_re.sub('',text)
# 'cdedfe flijijie lifsjelifjl'
Điều này chạy regex hai lần, gần như tôi có thể nói. Có một kỹ thuật để làm tất cả trên vượt qua, có lẽ bằng cách sử dụng re.split? Nó có vẻ như với các giải pháp dựa trên phân chia tôi cần phải làm regex ít nhất hai lần là tốt.
Ít nhất 3 bộ câu trả lời hay. Mỏ nhanh và đơn giản, sử dụng re.split(). Deestan của exposes tất cả các thông tin về các trận đấu bằng cách sử dụng finditer(), và Jon Cage cho thấy chức năng có thể được sử dụng trong re.sub, đó là một thông minh. –