1

我有一个文本文件,它全部包含在一行中。

例如

Scheme 4078 6291 4205 66 Video 23522 4323 53522 4233 Social 23 5432 6 54

我想把它分成几行,把名字和它的四个相关数字放在一行上。

因此:

Scheme 4078 6291 4205 66

Video 23522 4323 53522 4233 

Social 23 5432 6 54

我一直在尝试像

/[[:digit:]]+ [[:digit:]]+ [[:digit:]]+ [[:digit:]]+ 

而且我认为它必须进入涉及 :%s 的行,但我迷路了。有什么帮助吗?

4

4 回答 4

1

这种替代应该有效。

:%s/\s\+\(\D\)/\r\1/g
于 2013-10-09T17:15:09.837 回答
1

单程。它不查看四位数字组,而是查看任何没有数字的单词并在其前面插入换行符。

:%s/\v\s+(\D+)/\r\1/g

它产生:

Scheme 4078 6291 4205 66
Video 23522 4323 53522 4233
Social 23 5432 6 54
于 2013-10-09T17:12:49.083 回答
1

这个适用于您使用的类似语法

:%s/\(\(\<[[:digit:]]\+\>[ \t]\+\)\{4\}\)/\1\r/g
于 2013-10-09T17:17:41.097 回答
0

如果这些是唯一的关键字,那么这将起作用

:%s/\(Scheme\|Video\|Social\)/\r\1/g
于 2013-10-09T21:13:52.943 回答