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

SQL Server:提取字符串中'XXXX_'之后的子串

嘿,这个需求很简单,我给你几个实用的实现方法,根据你实际要的结果选就行:

先明确两种可能的需求(对应你例子里的标注)

你提到要提取XXXX_之后的子串,例子里标了RHL,这里分两种常见场景:

  • 场景1:获取XXXX_之后所有内容(比如例子里的RHL_PQR)
  • 场景2:只获取XXXX_之后第一个下划线前的部分(也就是你例子里的RHL)

下面以Python为例(最常用的处理字符串的语言之一),给出具体实现:

方法1:直接字符串分割(简单无脑,适合固定格式)

这种方法不需要额外依赖,直接用字符串内置方法就能搞定:

场景1:获取全部后续内容

s = '1234_XXXX_RHL_PQR'
# 按'XXXX_'分割字符串,取分割后的第二部分
result = s.split('XXXX_')[1]
print(result)  # 输出:RHL_PQR

因为你说字符串里必然包含XXXX_,所以分割后肯定有两个部分,直接取索引[1]就好。

场景2:获取第一个下划线前的部分

s = '1234_XXXX_RHL_PQR'
# 先拿到XXXX_之后的全部内容,再按下划线分割取第一个元素
result = s.split('XXXX_')[1].split('_')[0]
print(result)  # 输出:RHL

方法2:正则表达式(更灵活,适合复杂/可变格式)

如果之后你的字符串格式可能有变化,正则表达式会更通用:

场景1:获取全部后续内容

import re
s = '1234_XXXX_RHL_PQR'
# 匹配XXXX_后面的所有内容
match = re.search(r'XXXX_(.*)', s)
result = match.group(1)
print(result)  # 输出:RHL_PQR

这里(.*)表示捕获XXXX_之后的任意字符,直到字符串结尾。

场景2:获取第一个下划线前的部分

import re
s = '1234_XXXX_RHL_PQR'
# 匹配XXXX_后面直到第一个下划线的内容
match = re.search(r'XXXX_([^_]+)', s)
result = match.group(1)
print(result)  # 输出:RHL

[^_]+表示匹配非下划线的字符,正好停在第一个下划线前,完美拿到RHL。

这些方法都很靠谱,因为你保证了字符串里一定有XXXX,所以不用处理匹配失败的情况,直接用就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:22:39