如何从 Python 中的 DataFrame 列中删除特定的更改文本?

How to Remove particular changing text in from a DataFrame column in Python?

我有一个包含列 'test' 的数据框。它看起来像这样:

Column Test 
'[ABC: 814.6] text text text text [text:123]'
'[ABC: 432.9] text text [ABC: 433] text text [text:123]'
'[ABC: 1] text text text [342:] text [text:123]'

我想删除所有 '[ABC: XXX.X]' 部分。 我知道如何替换 'static' 文本,像这样:

df['Test_New'] = df['Test'].str.replace("[ABC: XXX.X]", '')

但是由于 XXX.X 正在改变,我不知道如何解决这个问题。

期望的输出:

Column Test 
' text text text text [text:123]'
' text text  text text [text:123]'
' text text text [342:] text [text:123]'

非常感谢!

根据@ZaxR 的评论,str.replace 支持正则表达式。

df['Test_New'] = df['Test'].str.replace(r"\[ABC: [\d]{1,3}(?:.\d)?\]", '')