如何删除字符串的特定部分?

时间:2019-07-08 11:22:13

标签: python string pandas substring

我想删除pandas df中字符串的特定部分。更确切地说,我希望脚本删除“(”和“)”中的所有内容。 示例:

'3453(s656)s(657)' -script-> '3453s'

是否有一个易于实现的python函数,或者需要我自己编写脚本? 感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

您可以使用str.replace。这是一个示例数据框:

df = pd.DataFrame({'col1':['3453(s656)s(657)', 'another(---)string']})

df['col1'] = df.col1.str.replace(r'(\(.*?\))', '')
        col1
0          3453s
1  anotherstring

答案 1 :(得分:0)

您可以实现一个简单的python函数,以执行以下操作:

def speclace(a)
    x=""
    s=0
    for i in a:
        if i=='(':
            s=1
        elif i==')':
            s=0
        elif s==0:
            x+=i
return x

<-如果有帮助,请投票->