我正在检查下面的代码,不确定重新分割把绳子分开。在
lines = ["surname: Obama, prename: Barack, profession: president", "surname:
Merkel, prename: Angela, profession: chancellor"]
for line in lines:
re.split(",* *\w*: ", line)
['', 'Obama', 'Barack', 'president']
['', 'Merkel', 'Angela', 'chancellor']
为了理解
在这里做什么,让我们看看{a1}:因此,在您的示例中,您将查找文本中的所有
",* *\w*: "
,并将它们用作所需结果文本之间的分隔符。在您正在使用的模式是查找任意数量的}和一个空白。在
,
,后跟任意数量的空白,任何数量的单词字符后跟{对于您的例子,这意味着:}后面的三个条目。这正是你的结果列表所说的。在
surname:Obama, prename:Barack, profession:president
(斜体:分隔符,删除,粗体:列表的结果部分)。如您所见,在字符串的开头有一个匹配项,因此分割出一个空字符串''
,后面是{re.split()
是与Python正则表达式库(re
)关联的split()函数。在在本例中,函数将在行中查找与
re.split()
函数中显示的模式匹配的任何子字符串。在模式:
",* *\w*: "
以以下方式出现:基本上,它试图找到:
surname:
, prename:
, profession:
在找到这些模式的地方,它们被从行中剥离出来,留下列表中显示的值。在列表的第一个位置找到的空字符串
''
是因为如果拆分模式是字符串中的第一个或最后一个元素,split()
函数包含一个空字符串。在相关问题 更多 >
编程相关推荐