JavaScript字符串分割求助:拆分含Base64内容的字符串
JavaScript字符串按特定前缀拆分解决方案
针对你需要将以Sefa为前缀的连续片段拆分为数组的需求,提供两种可行的实现方式:
方法一:使用正则匹配直接提取
利用String.prototype.match()结合正则表达式,直接匹配所有符合Sefa开头的片段:
var ResultX = "SefaOODQWHCDCHDAJ=SefaNSADJHDDHQKSefaUQEOFQN=="; var ResultY = ResultX.match(/Sefa[\s\S]*?(?=Sefa|$)/g); console.log(ResultY); // 输出: ["SefaOODQWHCDCHDAJ=","SefaNSADJHDDHQK","SefaUQEOFQN=="]
正则说明:
Sefa:精准匹配片段的固定前缀[\s\S]*?:非贪婪模式匹配任意字符(包含Base64中的等号、大小写字母等),避免过度匹配(?=Sefa|$):正向预查,确保匹配到下一个Sefa前缀或字符串结尾时停止,保证每个片段的完整性
方法二:拆分后补全前缀
先通过split()按Sefa拆分字符串,再过滤空值并补全前缀:
var ResultX = "SefaOODQWHCDCHDAJ=SefaNSADJHDDHQKSefaUQEOFQN=="; var ResultY = ResultX.split("Sefa") .filter(item => item !== "") .map(item => "Sefa" + item); console.log(ResultY); // 输出符合需求的数组
逻辑说明:
split("Sefa")会将原字符串拆分为包含空字符串和各片段后缀的数组filter(item => item !== "")去掉开头的空字符串map(item => "Sefa" + item)为每个后缀补全Sefa前缀,得到目标数组
内容的提问来源于stack exchange,提问作者Sefa DOGAN
相关产品推荐
相关产品推荐

