[英]How to delete a specific part of an html file in Python
我正在處理一個包含項目1,項目2和項目3的html文件。我想刪除項目2之后的所有文本。我可以在文件中找到項目2,如下所示:
Item2= re.compile (r'(Item 2)',re.I|re.S)
Item2match= Item2.findall(file)
但我不知道如何刪除后面的文字。
只需使用字符串方法分割html文本並采用第一部分; str.partition()
工作簡單得多:
file.partition('Item 2')[0]
如果您也想保留Item 2
文字,請使用:
''.join(file.partition('Item 2')[:2])
此處無需使用正則表達式; 您正在匹配文字文本。 正則表達式是一種出色的表現力和強大的工具,但是如果有更簡單的選擇,則不要使用它。
演示:
>>> 'Some text with Item 2 in it'.partition('Item 2')[0]
'Some text with '
>>> ''.join('Some text with Item 2 in it'.partition('Item 2')[:2])
'Some text with Item 2'
>>> re.sub(r'(?s)(?<=Item 2)(.*)', '', file)
例:
>>> s
'Item 2...feiugeogherger\nfjweifjwef\nsfjioweiefjwe'
>>> re.sub(r'(?s)(?<=Item 2)(.*)', '', s)
'Item 2'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.