重新分割python代码

2024-09-27 00:13:34 发布

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

我正在检查下面的代码,不确定重新分割把绳子分开。在

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']

Tags: 代码inforlinesurnamelines绳子barack
2条回答

为了理解

re.split(pattern, string, maxsplit=0, flags=0)
在这里做什么,让我们看看{a1}:

Split string by the occurrences of pattern.

因此,在您的示例中,您将查找文本中的所有",* *\w*: ",并将它们用作所需结果文本之间的分隔符。在

您正在使用的模式是查找任意数量的,,后跟任意数量的空白,任何数量的单词字符后跟{}和一个空白。在

对于您的例子,这意味着: surname:Obama, prename:Barack, profession:president (斜体:分隔符,删除,粗体:列表的结果部分)。如您所见,在字符串的开头有一个匹配项,因此分割出一个空字符串'',后面是{}后面的三个条目。这正是你的结果列表所说的。在

re.split()是与Python正则表达式库(re)关联的split()函数。在

在本例中,函数将在行中查找与re.split()函数中显示的模式匹配的任何子字符串。在

模式:",* *\w*: "以以下方式出现:

",*  > matches zero OR more commas
 *   > matches zero OR more spaces
\w*  > matches zero OR more word characters (0-9, a-z, A-Z, _)
: "  > matches a colon followed by a space

基本上,它试图找到:

surname:

, prename:

, profession:

在找到这些模式的地方,它们被从行中剥离出来,留下列表中显示的值。在列表的第一个位置找到的空字符串''是因为如果拆分模式是字符串中的第一个或最后一个元素,split()函数包含一个空字符串。在

相关问题 更多 >

    热门问题