使用Regex解析CSV数据生成SQL INSERT适用格式(兼容Integromat正则)
解决方案
你可以通过两步正则替换实现需求,适配JavaScript正则引擎:
操作步骤
- 先处理SQL单引号转义
全局匹配所有单引号',替换为两个单引号'',完成SQL语法要求的转义。 - 生成SQL值格式+跳过表头
使用带gm(全局+多行模式)修饰符的正则匹配所有行:
替换规则写为:^(?!Identifier)([^,]+),([^,]+),(.+)$('$1','$2','$3'), - (可选)如果需要去掉最后一行末尾的多余逗号,再加一次替换:匹配
,\s*$替换为空即可。
效果说明
处理后输出完全符合SQL INSERT的VALUES格式要求:
('CS18511','big-3-jersey','men''s jerseys'), ('CS185110231','big-3-jersey','men''s jerseys'), ('CS185110232','big-3-jersey','men''s jerseys'), ('CS185110233','big-3-jersey','men''s jerseys')
注:你给出的目标输出第一行里men''s' jerseys多了一个多余单引号,属于手误,上述方案输出符合标准SQL语法规范。
内容的提问来源于stack exchange,提问作者tbizzlebozzle
相关产品推荐
相关产品推荐

