我有一组文件组成如下:
Product: Name
Description: description of product
我只想提取名称和描述的内容,而不提取 'Product:'
和 'Description:'
。为此,我这样做:
div = re.split('Product:\s+|Description:\s+', contentOfFile)
问题是我得到一个包含 3 个元素的表格,而不是 2 个元素,开头带有 ' '(空格)。我不知道是否总是考虑空间,因为在这种情况下我只想得到:
["Name","description of product"]
最佳答案
让我们简化您的示例。如果我们在管道而不是您的正则表达式上拆分会怎样?
>>> "|a|b".split('|')
['', 'a', 'b']
如果字符串以分隔符开头,split 将在返回值中添加一个额外的空元素。现在在您的例子中,分隔符是一个正则表达式,但类似地,您的字符串以与该表达式匹配的内容开头,因此第一个返回的元素是一个空字符串。
为了解决这个问题,你可以跳过第一个元素
div = re.split('Product:\s+|Description:\s+', contentOfFile)[1:]
关于python - 多行按照 ":"拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28260709/