【发布时间】:2016-01-29 10:30:56
【问题描述】:
我有大量这样的条目数据集:
(21, 2, '23.5R25 ETADT', '描述,带逗号'),
(22, 1, '26.5R25 ETADT', '不带逗号的描述'),
(23, 5, '20.5R20.5', '另一个带有 ; 分栏的描述'),
我正在尝试用制表符替换列表中的每个逗号。排除单引号内的逗号。也不包括结束逗号。
所以示例条目应该变成:
(21[TAB]2[TAB]'23.5R25 ETADT'[TAB]'描述,带逗号'),
(22[TAB]1[TAB]'26.5R25 ETADT'[TAB]'不带逗号的描述'),
(23[TAB]5[TAB]'20.5R20.5'[TAB]'另一种描述用;分号'),
我有大约 6000 行这样的数据。 选项卡允许我告诉 Excel 将这些条目的元素导入不同的列。
我试过的正则表达式是这样的:[ ]*,[ ]*
但是这个正则表达式会选择所有的逗号,甚至是单引号内的逗号。
【问题讨论】:
-
有问题的昏迷总是在最后一列吗?如果是这样,这可能有效: ((.*?),(.*?),(.*?),(.*?)) 替换为 $1\t$2\t$3\t$4
-
冒犯逗号?无论如何,我已经测试了你的解决方案,但它没有成功
-
尝试
,(?=(?:[^'\n]*(?:'[^'\n]*'[^'\n]*)*)$)并替换为\t。
标签: regex excel tabs notepad++ comma