EmEditor数据行拆分求助:将含多邮箱的单行拆分为多行
解决单行列转多行重复前缀的问题
方法1:Excel/Google Sheets 实现
适用于Excel 365/Google Sheets(自动溢出)
假设原始数据在A1单元格,直接输入以下公式,会自动生成3行结果:
=LET(prefix, LEFT(A1, SEARCH(", mail", A1)-1), mails, TEXTSPLIT(MID(A1, SEARCH(", mail", A1)+2, LEN(A1)), ", "), prefix & ", " & mails)
适用于旧版Excel(手动生成)
在B1、B2、B3分别输入:
- B1:
LEFT(A1,FIND(", mail1",A1)-1)&", mail1" - B2:
LEFT(A1,FIND(", mail1",A1)-1)&", mail2" - B3:
LEFT(A1,FIND(", mail1",A1)-1)&", mail3"
方法2:文本编辑器正则替换(VS Code/Notepad++通用)
- 把原始行粘贴到编辑器
- 打开替换面板(快捷键Ctrl+H)
- 勾选「正则表达式」模式
- 查找内容:
^(.+, .+), (.+), (.+), (.+) - 替换内容:
$1, $2\n$1, $3\n$1, $4 - 点击「全部替换」,直接得到目标多行格式
方法3:Python脚本批量处理
如果需要批量处理大量数据,用Python脚本更高效:
# 示例原始行 raw_line = "first name, last name, mail1, mail2, mail3" # 拆分并整理数据 split_parts = [item.strip() for item in raw_line.split(",")] name_prefix = f"{split_parts[0]}, {split_parts[1]}" # 生成每行结果 for email in split_parts[2:]: print(f"{name_prefix}, {email}")
运行脚本后会直接输出符合要求的多行内容
内容的提问来源于stack exchange,提问作者hackuw
相关产品推荐
相关产品推荐

