参数:替换函数语法

2024-04-25 17:39:11 发布

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

我有一个巨大的数据框,其中有一列名字。名字上有数字和括号。我想把他们从名字上去掉。我发现解决这个问题的方法是:

df.Name = df.Name.str.replace(r'[\(\)\d]+', '')

有人能帮我理解replace函数的语法吗?你知道吗

(r'[\(\)\d]+', '')

Tags: 数据方法函数namedf语法数字名字
1条回答
网友
1楼 · 发布于 2024-04-25 17:39:11

Could someone please help me to understand the syntax inside the replace function?

你看到的是一个正则表达式。正则表达式有一种特殊的语法来指定模式。你知道吗

在这个正则表达式中,[...]表示字符组。这里的字符组由\((左括号)、\)(右括号)和\d(数字)填充。你知道吗

结尾的+表示一个或多个,因此我们指定模式由字符组中字符的序列组成。所以像'142(2'这样的字符串将匹配正则表达式。你知道吗

将字符串中与该模式匹配的所有子字符串替换为空字符串,因此删除它们。你知道吗

构建、测试和修复正则表达式的有用工具是regex101。如果您遵循这个链接,您可以指定一个regex并查看哪些字符串与所描述的模式匹配。在右边有一个小组,旨在用自然语言解释模式在做什么。你知道吗

此外,还有regex visualizer显示正则表达式的结构:

visualization of the regex

子字符串“匹配”如果你可以沿着铁路直到你到达目的地,所以在这里我们可以继续循环通过灰色框,只要有一个开放的括号,封闭的括号或数字,直到我们决定到达终点。你知道吗

相关问题 更多 >