You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中从含固定前缀的索引列提取名字子字符串的解决方案咨询

可行的名字提取方案

当然有办法实现啦!既然你已经明确知道前缀的固定长度是31位,我们可以基于这个条件用几种简洁的方式提取出目标名字:

方法一:切片+分割取首元素

这是最贴合你给出的str[31:]思路的扩展方案:

df["y"] = df.sent.str[31:].str.split().str[0]

原理很直观:先从第31位开始截取掉固定前缀后的剩余字符串,再按空格把字符串拆分成列表,列表的第一个元素就是我们要提取的名字。

方法二:切片+partition分割

str.partition()会把字符串按指定分隔符一次性分成「分隔符前内容、分隔符、分隔符后内容」三部分,直接取第一部分即可:

df["y"] = df.sent.str[31:].str.partition(' ')[0]

这个方法比split更轻量,因为它仅执行一次分割操作,不需要处理完整的分割列表。

方法三:正则表达式一步提取

如果想省去多步操作,也可以用正则直接匹配前缀后的名字部分:

df["y"] = df.sent.str.extract(r'^.{31}([A-Za-z]+)')
  • ^.{31}:匹配开头的31个任意字符(也就是固定前缀)
  • ([A-Za-z]+):捕获后续连续的字母作为名字(如果名字包含连字符、撇号这类特殊字符,可以调整为([A-Za-z'-]+))

以上几种方法都能完美适配你的需求,根据自己的习惯选择就好~

内容的提问来源于stack exchange,提问作者Cecilie S. K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 23:22:42