【问题标题】:Python regex parsing and putting into a multidimensional listPython正则表达式解析并放入多维列表
【发布时间】:2013-10-02 19:29:38
【问题描述】:

我知道正则表达式是这里的方法,但我在编写正则表达式表达式时很糟糕。我有一个文件,其中每一行如下所示:“defenders\t2\n”,我想删除 \t 和 \n 并将单词“defenders”放入我的多维列表的 [0] 并输入数字我列表的 [1] 中的“2”。在 python 中是否有一种简单的正则表达式方法来执行此操作?

重新导入

d = []
with open("somefile.txt") as f:
    for line in f:
       word = re.search()
       rank = re.search()
       d.append([word][rank])

这是我正在尝试的,但我不知道如何使它工作。感谢您的帮助。

【问题讨论】:

    标签: python regex parsing


    【解决方案1】:

    只需使用str.split:

    >>> "defenders\t2\n".split()
    ['defenders', '2']
    

    要使用正则表达式获取列表,您需要使用re.findall

    >>> import re
    >>> re.findall(r'\S+', "defenders\t2\n")
    ['defenders', '2']
    

    【讨论】:

    • 如果他希望 line[1] 成为 int 而不是字符串,只需执行 line[1] = int(line[1])
    猜你喜欢
    • 2010-10-23
    • 1970-01-01
    • 2011-06-05
    • 2012-09-12
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 2018-10-09
    • 2014-08-12
    相关资源
    最近更新 更多