我有一些数据,想将 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 时,我修复了这个问题