【问题标题】:split string into list based on names regex python根据名称正则表达式python将字符串拆分为列表
【发布时间】:2021-10-21 13:04:24
【问题描述】:

寻找可以将以下字符串拆分为列表的正则表达式,以便我可以循环并提取值。 我试过了,但是没有用。

Download the PDF file here

\b[0-9]+ [A-Za-z]+ [A-Za-z]+(.*?)\b[0-9]+ [A-Za-z]+ [A-Za-z]

示例字符串

string = '''1 Acone Raffaele
^Eboli (SA) - 04/12/1971^ 148/A Dottore commercialista^ 84043 Agropoli (SA) - Via P. Mascagni, 5
^CNARFL71T04D390R^ A - Commercialisti^ Laurea in Economia e Commercio (64/S)
^Agropoli (SA) Ordine Tel. 0974824169 - Fax 0974824169 Esercente
^06/05/2002^06/05/2002^ Email: raffaeleacone@tiscali.it
^06/05/2002^Revisore legale - n. 125741^PEC: raffaele.acone@pec.commercialisti.it

2 Agresta sdfsdf dfdsf
^Salerno (SA) - 08/09/1979 269/A Dottore commercialista^ 84043 Agropoli (SA) - Via F. Angrisani, 7
^GRSDNL79P08H703B^ A - Commercialisti^ Laurea in Economia e Commercio (64/S)
^Agropoli (SA)Tel. 0974 823625 - Fax 0974 823625^ Esercente
^25/07/2012^25/07/2012^ Email: d.agresta@yahoo.it
^25/07/2012^Revisore legale - n. 165766^PEC: d.agresta@pec.it

3 Agresta Veronica
^Vallo della Lucania (SA) - 06/10/1981 281/A Dottore commercialista^ 84052 Ceraso (SA) - Via Campo, 1
^GRSVNC81R46L628Z^ A - Commercialisti^ Laurea in Economia e Commercio (LM-56)
^Ceraso (SA)^Tel. 0974 61248^Esercente
^24/01/2014^24/01/2014^ Email: veronica.ag@live.it
^24/01/2014^Revisore legale - n. 172086^PEC: veronicaagresta@pec.it

'''

预期输出:

['1 Acone Raffaele
^Eboli (SA) - 04/12/1971^ 148/A Dottore commercialista^ 84043 Agropoli (SA) - Via P. Mascagni, 5
^CNARFL71T04D390R^ A - Commercialisti^ Laurea in Economia e Commercio (64/S)
^Agropoli (SA) Ordine Tel. 0974824169 - Fax 0974824169 Esercente
^06/05/2002^06/05/2002^ Email: raffaeleacone@tiscali.it
^06/05/2002^Revisore legale - n. 125741^PEC: raffaele.acone@pec.commercialisti.it'], 
['Agresta sdfsdf dfdsf
^Salerno (SA) - 08/09/1979 269/A Dottore commercialista^ 84043 Agropoli (SA) - Via F. Angrisani, 7
^GRSDNL79P08H703B^ A - Commercialisti^ Laurea in Economia e Commercio (64/S)
^Agropoli (SA)Tel. 0974 823625 - Fax 0974 823625^ Esercente
^25/07/2012^25/07/2012^ Email: d.agresta@yahoo.it
^25/07/2012^Revisore legale - n. 165766^PEC: d.agresta@pec.it'], 
['3 Agresta Veronica
^Vallo della Lucania (SA) - 06/10/1981 281/A Dottore commercialista^ 84052 Ceraso (SA) - Via Campo, 1
^GRSVNC81R46L628Z^ A - Commercialisti^ Laurea in Economia e Commercio (LM-56)
^Ceraso (SA)^Tel. 0974 61248^Esercente
^24/01/2014^24/01/2014^ Email: veronica.ag@live.it
^24/01/2014^Revisore legale - n. 172086^PEC: veronicaagresta@pec.it']

【问题讨论】:

  • 正则表达式是必需的还是您愿意接受其他想法来获得输出?
  • 我对想法持开放态度。我需要将每个公司数据转换成一个列表,以便循环提取每个结果。
  • 那么公司数据之间总是有一个空行?
  • @Robert 尝试使用companies = string.split('\n\n')

标签: python python-re


【解决方案1】:

如果公司之间总是有一个空白行,那么这可能是一个解决方案:

company_list = [ [company_string] for company_string in string.split('\n\n') if company_string is not '' ]

【讨论】:

    猜你喜欢
    • 2012-06-14
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多