从Python Lis中删除HTML标记

2024-06-16 08:27:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含三个值的python列表:

address = 
[<p>
<strong>CVS Pharmacy #</strong><br/>
                        1025 St Clair River Dr <br/>
                        Algonac, MI 48001<br/>
                        1-810-794-4941
                        </p>,
<p>
<strong>Kroger Pharmacy</strong><br/>
                        2600 Pointe Tremble <br/>
                        Algonac, MI 48001<br/>
                        1-810-671-4002
                        </p>,
<p>
<strong>Rite Aid Pharmacy 04943</strong><br/>
                        402 Pointe Tremble Road <br/>
                        Algonac, MI 48001<br/>
                        1-810-794-4985
                        </p>]

我想删除HTML标记。试着一个接一个的时候:

^{pr2}$

我得到:

    CVS Pharmacy #
                        1025 St Clair River Dr 
                        Algonac, MI 48001
                        1-810-794-4941

这就是我想要的。但是,当我迭代循环时,我得到:

[u'\nCVS Pharmacy #\n                            1025 St Clair River Dr \n                                 Algonac, MI 48001\n                            1-810-794-4941\n                            ', u'\nKroger Pharmacy\n                            2600 Pointe Tremble \n                            Algonac, MI 48001\n                            1-810-671-4002\n                            ', u'\nRite Aid Pharmacy 04943\n                            402 Pointe Tremble Road \n                            Algonac, MI 48001\n                            1-810-794-4985\n                            ']

这不是我想要的,因为它包含所有的u和\n以及其他垃圾,而且都在一个长字符串中。有没有一个简单的方法可以做到这一点?我还想最终将这些附加到已经存在的csv文件中,如果有一个简单的方法一石二鸟。在

谢谢。在


Tags: 方法brstrongcvsstmidrpharmacy
1条回答
网友
1楼 · 发布于 2024-06-16 08:27:27

u表示其unicode字符串。\n是新行字符。您可以编写一个正则表达式来删除换行符、多个空格、制表符等到单个空格。在

import re

CLEAN = re.compile('\s+')

address = [CLEAN.sub(' ', a.text).strip() for a in address]

或者用逗号替换新行,这样地址格式就有意义了。在

^{pr2}$

相关问题 更多 >