在记事本++中使用正则表达式,每隔第n次空格

时间:2015-07-27 03:21:20

标签: regex

以前一定要问过,但找不到我需要的答案。

我有一个非常大的文件,其中有一个由空格分隔的长整数串。整数的长度为3或4个字符。

我想将行分开,以便最终得到5列数字。

我正在尝试用notepad ++作为目前唯一的工具。

我的例子

123 123 123 123 123 123 123 123 123 123 456 456 456 456 456 456 1231 2312 3112 1534 1254 1254 1254 2154 1522 1233 1235 1231 1234
1123 4564 1534 1321 1234 1234 1234 1234 1234 123 123 123 123 123 123 132 123 123
1234 1234 1234 1234 4567 4567 4567 4567 4567 145 154 154 154

我需要的是

123 123 123 123 123
123 123 123 123 123
456 456 456 456 456
456 1231 2312 3112 1534
1254 1254 1254 2154 1522
1233 1235 1231 1234 1123
4564 1534 1321 1234 1234
1234 1234 1234 123 123
123 123 123 123 132
123 123 1234 1234 1234
1234 4567 4567 4567 4567
4567 145 154 154 154

事实上,行的长度不等。

希望有人可以提供帮助。

PS:如果最后的例子也用标签替换了空格,那就太好了!

2 个答案:

答案 0 :(得分:5)

所有这些替换都使用正则表达式和“。匹配换行符”:

  1. 首先用空格
  2. 替换\s+
  3. ((\d+\s+){5})替换为\1\n
  4. (可选)用\t替换空格(也可以在开头处替换)
  5. 请注意,默认标签大小为4时效果不佳。你的例子至少需要5个。

答案 1 :(得分:0)

找到:(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+

替换为:\1 \2 \3 \4 \5\n

(分别\1\t\2\t\3\t\4\t\5\n用标签替换空格)

搜索模式:Regular expression

相关问题