如何从特定字符串中移除带动态数字的Restriction number子串
动态匹配可变编号片段的字符串处理方案
之前使用硬编码replace、普通split的方式无法适配需求,核心原因是两种方法都要求提前写死匹配的片段内容,而「Restriction number」后的数字是动态变化的,无法固定。
需通过正则表达式通配匹配实现目标,匹配规则说明如下:
- 目标待替换片段结构:固定开头
Restriction number+ 任意位数数字 + 句号 - 对应正则匹配模式:
Restriction number \d+\.Restriction number:完全匹配固定的开头文本(包含末尾空格)\d+:通配任意长度的数字,适配1位、多位等不同编号场景\.:匹配片段末尾的句号(句号为正则特殊字符,需转义)
- 替换逻辑:将正则匹配到的全部片段统一替换为单个空格
代码实现示例
Python 实现
import re # 原始输入字符串 input_str = "The combination is excluded by the following restriction\nRestriction number 16. --No-name--If-Then---- [Check the description here]." # 执行正则全量替换 processed_str = re.sub(r"Restriction number \d+\.", " ", input_str)
JavaScript 实现
// 原始输入字符串 const inputStr = "The combination is excluded by the following restriction\nRestriction number 16. --No-name--If-Then---- [Check the description here]."; // 执行正则全量替换,g修饰符代表匹配全部符合规则的片段 const processedStr = inputStr.replace(/Restriction number \d+\./g, " ");
输出效果
处理后的字符串完全符合要求:The combination is excluded by the following restriction\n --No-name--If-Then---- [Check the description here].
内容的提问来源于stack exchange,提问作者user11415630
相关产品推荐
相关产品推荐

