用Python删除字符串列中的中文括号和内部内容

2024-09-28 03:16:09 发布

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

我想从以下数据框中删除中文类型括号及其内部内容:

   id                      title
0   1  【第一次拍卖】深圳市光明新区公明街道中心区(拍卖)   ---> (拍卖)need to remove
1   2      【第一次拍卖】深圳市龙岗区龙岗街道新生社区
2   3   【第一次拍卖】(破)广东省深圳市龙岗区布吉新区       ---> (破) need to remove
3   4      【第一次拍卖】深圳市宝安区新安街道新城大道
4   5    (拍卖)【第二次拍卖】深圳市盐田区沙头角东和路      ---> (拍卖) need to remove

我试过使用df['title'].str.replace(r'\([^()]*\)', '')df['title'].str.replace(r'\([^)]*\)', ''),但如果它们位于字符串末尾,它们都可以删除它们

0       【第一次拍卖】深圳市光明新区公明街道中心区    ---> this row works
1       【第一次拍卖】深圳市龙岗区龙岗街道新生社区
2    【第一次拍卖】(拍卖)广东省深圳市龙岗区布吉新区
3       【第一次拍卖】深圳市宝安区新安街道新城大道
4     (拍卖)【第二次拍卖】深圳市盐田区沙头角东和路

如何修改代码以获得以下输出?多谢各位

0       【第一次拍卖】深圳市光明新区公明街道中心区 
1       【第一次拍卖】深圳市龙岗区龙岗街道新生社区
2       【第一次拍卖】广东省深圳市龙岗区布吉新区
3       【第一次拍卖】深圳市宝安区新安街道新城大道
4       【第二次拍卖】深圳市盐田区沙头角东和路

Tags: todftitleneed街道社区replaceremove
1条回答
网友
1楼 · 发布于 2024-09-28 03:16:09

以下三种解决方案可行:

df['title'].str.replace(r'\([^()]*\)', '')
df['title'].str.replace(r'\([^)]*\)', '')
df['title'].str.replace(r'\(\S+\)', '')

输出:

0    【第一次拍卖】深圳市光明新区公明街道中心区
1    【第一次拍卖】深圳市龙岗区龙岗街道新生社区
2     【第一次拍卖】广东省深圳市龙岗区布吉新区
3    【第一次拍卖】深圳市宝安区新安街道新城大道
4      【第二次拍卖】深圳市盐田区沙头角东和路

相关问题 更多 >

    热门问题