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

使用R stringr包拆分字符串:提取前n-1个大写字母及剩余内容

拆分数据列:从HAVE列提取WANT1和WANT2

示例数据与预期结果

原始列HAVE需拆分为两列,具体示例如下:

HAVE            WANT1   WANT2
CLStephen Five  CL      Stephen Five
RTQQuent Lou X  RTQ     Quent Lou X

拆分规则

  • WANT1:提取字符串开头所有连续的大写字母(即第一个非大写字母出现前的全部大写字符)
  • WANT2:提取剩余的所有字符(自动去除开头多余空格)

实现方案

Python Pandas 处理

用正则表达式的extract方法直接拆分:

import pandas as pd

# 构造示例数据
data = {'HAVE': ['CLStephen Five', 'RTQQuent Lou X']}
df = pd.DataFrame(data)

# 正则拆分并清理空格
df[['WANT1', 'WANT2']] = df['HAVE'].str.extract(r'^([A-Z]+)\s?(.*)$')

print(df)

运行后输出:

HAVE WANT1         WANT2
0  CLStephen Five    CL  Stephen Five
1  RTQQuent Lou X   RTQ  Quent Lou X

SQL(MySQL)处理

利用正则函数完成提取:

SELECT
    HAVE,
    REGEXP_SUBSTR(HAVE, '^[A-Z]+') AS WANT1,
    TRIM(REGEXP_REPLACE(HAVE, '^[A-Z]+', '')) AS WANT2
FROM your_table_name;

内容的提问来源于stack exchange,提问作者bvowe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 16:42:49