JavaScript正则表达式:提取字符串开头至“ - ”前的子串
解决方案:移除字符串末尾的"- Member"/"- Guest"后缀
你可以用JavaScript的String.replace()方法结合正则表达式直接匹配并替换掉目标后缀,实现需求:
核心实现代码
// 处理单个字符串 const originalStr = "3-Hr Workshop - Member"; const processedStr = originalStr.replace(/ - (Member|Guest)$/, ""); console.log(processedStr); // 输出: "3-Hr Workshop" // 批量处理字符串数组 const rawStrList = [ "3-Hr Workshop - Member", "3-Hr Workshop - Guest", "1-Hr Workshop - Member", "1-Hr Workshop - Guest", "Social Only - Member", "Social Only - Guest" ]; const cleanedStrList = rawStrList.map(str => str.replace(/ - (Member|Guest)$/, "")); console.log(cleanedStrList); // 输出: ["3-Hr Workshop", "3-Hr Workshop", "1-Hr Workshop", "1-Hr Workshop", "Social Only", "Social Only"]
正则表达式说明
-:精确匹配空格+减号+空格的固定分隔符(Member|Guest):匹配"Member"或"Guest"任意一个目标后缀$:锚定到字符串末尾,确保只替换最后出现的后缀(避免误匹配字符串中间的类似内容)
如果需要兼容大小写不一致的场景,可在正则末尾添加i修饰符,即/ - (Member|Guest)$/i。
内容的提问来源于stack exchange,提问作者Cinji18
相关产品推荐
相关产品推荐

