notepad ++ 帮助需要将 4,6,8 位数字的组拆分为 2 位数字的组

notepad ++ 帮助需要将 4,6,8 位数字的组拆分为 2 位数字的组

我有一些数据,想将 4、6 和 8 位数字的组分成 2 个组

3 16 53 7282 192331 68 83 9 29364255 00001
4 10 57 7188 6 3943 6574 1228 4558 79 00002
2 415266 80 142433 7887 26 445669 89 00003 
1 223440 85 5 27 596270 13 3749 6375 00004 
15 32 607381 17 465061 84 7 2035 5167 00005

需要输出

3 16 53 72 82 19 23 31 68 83 9 29 36 42 55 00001
4 10 57 71 88 6 39 43 65 74 12 28 45 58 79 00002
2 41 52 66 80 14 24 33 78 87 26 44 56 69 89 00003
1 22 34 40 85 5 27 59 62 70 13 37 49 63 75 00004
15 32 60 73 81 17 46 50 61 84 7 20 35 51 67 00005

我不担心这会影响 00001、00002,因为我可以在导出到 excel 后修复它

数据截图:

在此处输入图片描述

答案1

  • Ctrl+H
  • 找什么:\b(\d\d)(\d\d)?(\d\d)?\b
  • 用。。。来代替:$1(?2 $2)(?3 $3)
  • 查看 环绕
  • 查看 正则表达式
  • Replace all

解释:

\b              # word boundary, make sure we haven't a digit before
(\d\d)          # group 1, 2 digits
(\d\d)?         # group 2, 2 digits, optional
(\d\d)?         # group 3, 2 digits, optional
\b              # word boundary, make sure we haven't a digit after

替代品:

$1              # content of group 1, the first 2 digits
(?2 $2)         # if group 2 exists, insert a space and content of group 2
(?3 $3)         # if group 3 exists, insert a space and content of group 3

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

答案2

谢谢您的回复。这不是我想要的。

我设法这样做

我在所有个位数后面都加了一个 0

\b(\d)\b 0$1 (末尾有空格)

然后删除所有空格,然后分组为 2

(..)\1(末尾有空格)

除了票号是 00 00 1 而不是 00001 之外,其他都有效

当我将其导入 excel 时,我修复了这个问题

查看图片

相关内容