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

如何用正则表达式移除固定前缀加可变数字的冗余文本行

正则表达式移除指定冗余行并整理为数组

需求场景

你有一段包含冗余行的文本,需要移除格式固定的冗余行,再将剩余内容整理成数组。示例文本如下:

Targeting Segment 12345
Platform XXX Audience ID: 23846552432410014
Targeting Segment 93823

需要移除的是开头为Platform XXX Audience ID: 、后续跟任意长度数字的整行内容。

解决方案

1. 匹配冗余行的正则表达式

使用以下正则匹配目标冗余行(含换行符):

^Platform XXX Audience ID: \d+\r?\n

各部分含义:

  • ^:匹配每一行的开头(需开启多行模式)
  • Platform XXX Audience ID: :固定匹配目标文本
  • \d+:匹配1个及以上任意数字,覆盖数字长度不固定的情况
  • \r?\n:匹配Windows或Unix格式的换行符,确保移除整行及换行
  • 多行模式标记:JavaScript用gm,Python用re.MULTILINE,让^和$作用于每一行

2. 替换并整理为数组

以下是不同语言的实现示例:

JavaScript 实现
const originalText = `Targeting Segment 12345
Platform XXX Audience ID: 23846552432410014
Targeting Segment 93823`;

// 移除冗余行
const cleanedText = originalText.replace(/^Platform XXX Audience ID: \d+\r?\n/gm, '');
// 过滤空行并转为数组
const resultArray = cleanedText.split('\n').filter(line => line.trim());

console.log(resultArray);
// 输出: ["Targeting Segment 12345", "Targeting Segment 93823"]
Python 实现
import re

original_text = """Targeting Segment 12345
Platform XXX Audience ID: 23846552432410014
Targeting Segment 93823"""

# 移除冗余行
cleaned_text = re.sub(r'^Platform XXX Audience ID: \d+\r?\n', '', original_text, flags=re.MULTILINE)
# 过滤空行并转为数组
result_array = [line for line in cleaned_text.splitlines() if line.strip()]

print(result_array)
# 输出: ['Targeting Segment 12345', 'Targeting Segment 93823']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 04:10:36