【发布时间】:2022-12-19 19:35:07
【问题描述】:
我有一列文本,我需要找到子字符串并返回整个单词,但无法弄清楚如何获取整个单词。
每列的底部都有一个编码标记为“ATT03”、“ATT04”等的文本,我想使用该 ATT 并为每个标签创建一个新列。
因此,例如我的专栏如下所示:
blahblahblah 文本 [ATT03]:blahblahblah
blahblahblah 文本 [ATT03]:blahblahblah
blahblahblah 文本 [ATT04]:blahblahbblahblah
废话 [ATT08]: blahblahblah
df_att=(df2.loc[:,'Report Text'].str.split("ATT",1)).str[-1]
我用它来创建一个新列,但它只将数据拆分为“ATT08:blahblahblahblah”,我真的只想要“[]”之间的 ATT。我不需要所有无关的数据。
是否有仅返回 ATT03 的正则表达式/代码?没有周围的其余字符串?
太感谢了!我已经为此苦苦挣扎了几个小时,感到很沮丧。
【问题讨论】:
-
使用
str.extract("(ATT[^\]]*)")我想... -
太感谢了!这非常接近。不过,它给了我 ATT 之前的字符。 “主治医师协议 [ATT03”是我得到的输入。
-
试试
str.extract("\[(ATT[^\]]*)")
标签: python pandas regex string strsplit