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

正则提取引号前长词首字母缩写与引号内容,适配DataFrame通用处理

正则提取引号内容与长单词首字母缩写

核心思路

通过正则拆分字符串为引号前的文本和引号内的内容两部分,再对前缀文本筛选长度大于3的单词,提取首字母拼接成大写缩写,最后按指定格式组合结果。

正则模式

使用非贪婪匹配捕获目标内容:

(.*?)"(.*?)"
  • (.*?):非贪婪匹配任意字符,分别捕获引号前的全部文本(第一组)和引号内的内容(第二组)
  • ":匹配HTML转义的双引号(对应原字符串中的"转义形式)

Python实现代码

import re
import pandas as pd

def process_string(s):
    # 匹配并拆分字符串
    match_result = re.match(r'(.*?)"(.*?)"', s)
    if not match_result:
        return ""
    prefix, quoted = match_result.groups()
    # 生成首字母缩写:筛选长度>3的单词,取首字母大写拼接
    acronym = ''.join([word[0].upper() for word in prefix.split() if len(word) > 3])
    # 返回指定格式的结果
    return f"{quoted}, {acronym}"

# 测试单个字符串
string1 = 'Department of the Federal Treasury "IFTS No. 43"'
string2 = 'Federal Treasury Company "Light-8"'
print(process_string(string1))  # 输出: IFTS No. 43, DFT
print(process_string(string2))  # 输出: Light-8, FTC

# DataFrame批量处理示例
df = pd.DataFrame({
    'raw_text': [string1, string2, 'Small Test "Sample-45"']
})
df['processed_text'] = df['raw_text'].apply(process_string)
print(df)

代码说明

  1. 正则匹配:确保准确拆分出前缀文本和引号内的内容,兼容字符串前后无多余字符的场景
  2. 缩写生成:通过列表推导式快速筛选长单词并提取首字母,自动转为大写
  3. 批量处理:利用Pandas的apply方法,直接对DataFrame列进行批量转换

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 17:42:28