Postman测试:提取响应ID中竖线前的可变长度内容
解决方案
这里提供几种通用的实现方法,不管ID前缀长度多少,都能准确提取竖线(|)前的内容:
方法1:字符串分割(split)
把ID按竖线分割成数组,直接取第一个元素即可,逻辑简单且能兼容无竖线的情况:
const id = "FsuJ6ld97vVC2mkh5bGo5K-us|0000001"; const targetId = id.split('|')[0]; console.log(targetId); // 输出 "FsuJ6ld97vVC2mkh5bGo5K-us"
方法2:定位竖线后截取(indexOf + slice)
先找到竖线的索引位置,再从开头截取到该位置,同时处理ID中没有竖线的边界场景:
const id = "FsuJ6ld97vVC2mkh5bGo5K-us|0000001"; const pipePos = id.indexOf('|'); const targetId = pipePos !== -1 ? id.slice(0, pipePos) : id; console.log(targetId);
方法3:正则表达式匹配
用正则匹配开头到竖线前的所有非竖线字符,适合需要更复杂字符串校验的场景:
const id = "FsuJ6ld97vVC2mkh5bGo5K-us|0000001"; const match = id.match(/^[^|]+/); const targetId = match ? match[0] : id; console.log(targetId);
内容的提问来源于stack exchange,提问作者Fahad Mukhtar
相关产品推荐
相关产品推荐

