【问题标题】:notepad++ regex - remove brackets and separate valuesnotepad++ 正则表达式 - 删除括号和单独的值
【发布时间】:2012-12-03 10:49:24
【问题描述】:

我有清单:

(1, 'Apple', '["5","8"]'),
...
(22, 'Mango', '["5","8"]'),
(23, 'Orange', '["5","8"]'),
(24, 'Banana', '["2","0"]'),
(25, 'Milk', '["2","0"]'),
...
(749, 'Bread', '["2","10"]'),

我想像这样在括号中分隔值

(1, 'Apple', '5', '8'),
...
(22, 'Mango', '5', '8'),
(23, 'Orange', '5', '8'),
(24, 'Banana', '2', '0'),
(25, 'Milk', '2', "0'),
...
(749, 'Bread', '2','10'),

使用记事本++“替换为”功能。我也愿意接受其他解决方案。

谢谢

【问题讨论】:

  • 3种方式替换,但是太慢了……数据量大
  • @ing.MichalHudak 需要多长时间?记事本++的替换怎么可能是时间关键的?
  • 2个原因:1.机器慢,2.txt文件有23GB
  • 我怀疑 Notepad++ 是否针对速度进行了优化,对于 GUI。如果您担心效率,请尝试编写一个简短的脚本来完成替换并从命令行运行它。

标签: regex notepad++ replace


【解决方案1】:

正则表达式替换所有实例:

'\["(.*?)","(.*?)"\]'

与:

'\1','\2'

【讨论】:

  • @ing.MichalHudak 是的,尽管差异最终会很小。除非您拥有大量数据,否则无论如何您都不应该使用 Notepad++。
  • 你是对的。这台计算机没有任何 IDE 或编辑器。使用我现在拥有的东西。甚至没有管理员权限。
【解决方案2】:

这甚至不需要正则表达式。使用正常更换模式。那么你有三遍:

Find what:    ["
Replace with: (empty string)
Find what:    "]
Replace with: (empty string)
Find what:    "
Replace with: '

【讨论】:

  • 我也在考虑,但是太慢了……数据量大
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-14
  • 2018-08-25
  • 1970-01-01
  • 2012-07-25
  • 2014-10-09
  • 1970-01-01
相关资源
最近更新 更多