JavaScript如何匹配以指定字符串开头的行并提取指定字符?
解决方案
实现代码
var header = "Resent-From:<joesmith@domain.com>\nFrom:Dan Smith <dansmith@domain.com>\nTo:Bill Smith <dansmith@domain.com>\n" // 方法1:正则匹配,容错性更高 const fromName = header.match(/From:\s*([^<]+?)\s*</)?.[1] console.log(fromName) // 输出 Dan Smith // 方法2:在你原有逻辑基础上修改 var filter = header.split("From:").pop(); const fromName2 = filter.split('<')[0].trim() console.log(fromName2) // 输出 Dan Smith
说明
- 正则方案可以自动处理
From:和名称之间、名称和邮箱地址之间的多余空格,适配更多格式不统一的场景 - 分割方案和你原本的实现思路完全一致,逻辑更直观,适合格式固定的简单场景
内容的提问来源于stack exchange,提问作者DreadPirateRoberts
相关产品推荐
相关产品推荐

