2024-05-19 00:02:30 发布
网友
我有一个dataframe:
dataframe
name (John) (Lily) (Eddy) Wang Lisa
dataframe的格式不正确,我需要删除括号。 返回的df应该是:
df
name John Lily Eddy Wang Lisa
我的代码是:
merge_df['name'] = merge_df['name'].replace('()','')
但是返回的df没有给出我想要的结果。有人知道如何修复这段代码吗
根据official document,replace函数的第一个参数是要替换的字符串。 因此,some_str.replace('()','')意味着替换字符串中未找到的所有(),因此replace函数返回相同的字符串
replace
some_str.replace('()','')
()
有三种方法可以解决这个问题
使用多个替换函数
由于一次只能替换一种类型的子字符串,因此我们可以使用它两次来实现我们的目的
your_str = your_str.replace('(','').replace(')','')
使用正则表达式库re.sub()
re.sub()
re.sub()(doc)函数更强大,可以在一次调用中指定要替换的不同子字符串
对我来说,我更喜欢这个解决方案,因为它更灵活、更强大。
import re your_str = re.sub(r'[\)\(]', '', your_str)
使用str.strip()(doc)
str.strip()
str.strip()函数只会删除字符串末尾的字符,您还可以指定要删除的多个字符。 因此,在这种情况下,它是有用的
your_str = your_str.strip('()')
默认情况下,.replace查找精确匹配。您可以显式指定要使用正则表达式,如下所示
.replace
merge_df['name'].replace(regex="[()]", value="")
根据official document,
replace
函数的第一个参数是要替换的字符串。 因此,some_str.replace('()','')
意味着替换字符串中未找到的所有()
,因此replace函数返回相同的字符串有三种方法可以解决这个问题
使用多个替换函数
由于一次只能替换一种类型的子字符串,因此我们可以使用它两次来实现我们的目的
使用正则表达式库
re.sub()
re.sub()
(doc)函数更强大,可以在一次调用中指定要替换的不同子字符串对我来说,我更喜欢这个解决方案,因为它更灵活、更强大。
使用
str.strip()
(doc)str.strip()
函数只会删除字符串末尾的字符,您还可以指定要删除的多个字符。 因此,在这种情况下,它是有用的默认情况下,
.replace
查找精确匹配。您可以显式指定要使用正则表达式,如下所示相关问题 更多 >
编程相关推荐