【问题标题】:format text using regex使用正则表达式格式化文本
【发布时间】:2026-02-26 00:40:01
【问题描述】:

我有以下文字

1
0
0
0
0
0
ASET LANCAR


Neraca
1
1
0
0
0
0
KAS DAN SETARA KAS


Neraca
1
1
1
0
0
0
Kas
 

Buku Besar

使用正则表达式如何将文本变成类似:

100000,ASET LANCAR,Neraca
110000,KAS DAN SETARA KAS,Neraca
111000,Kas,Buku Besar

换句话说,我想将原始字符串转换为逗号分隔值 (CSV)。老实说,我不知道正则表达式会是什么样子。

【问题讨论】:

  • 您能否查看我的answer 并告诉我它是否适合您?
  • 是的,你的回答很好。很抱歉,我的互联网连接有问题。非常感谢。
  • 不客气,很高兴您发现我的解决方案很有用 :)

标签: regex sublimetext3


【解决方案1】:

您至少需要两个步骤来实现这一点。

首先将(?<=\d)\R(?=\d)|(\s){2,}替换为\1,你会得到以下文字,

100000
ASET LANCAR
Neraca
110000
KAS DAN SETARA KAS
Neraca
111000
Kas
Buku Besar

获得此文本后,您可以使用此正则表达式 (?<=\w)\R(?=[a-zA-Z]) 并将其替换为逗号 ,,您将获得所需的以下文本,

100000,ASET LANCAR,Neraca
110000,KAS DAN SETARA KAS,Neraca
111000,Kas,Buku Besar

初始文本,

第一次替换后,

第二次替换后,您就有了想要的文字

【讨论】: