【问题标题】:How do I remove a specific part of a string?如何删除字符串的特定部分?
【发布时间】:2019-11-17 21:44:39
【问题描述】:

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

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

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

【问题讨论】:

  • 你应该试试正则表达式。

标签: python string pandas substring


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    您可以实现一个简单的 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
    

    【讨论】:

      猜你喜欢
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      相关资源
      最近更新 更多