我有一个文本文件,全部包含在一行中。
e.g。
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,但我迷路了。 有什么帮助吗?
答案 0 :(得分:1)
一种方式。它不会查看四位数字组,而是查看没有数字的任何单词,并在其前面插入换行符。
:%s/\v\s+(\D+)/\r\1/g
它产生:
Scheme 4078 6291 4205 66
Video 23522 4323 53522 4233
Social 23 5432 6 54
答案 1 :(得分:1)
这种替换应该有效。
:%s/\s\+\(\D\)/\r\1/g
答案 2 :(得分:1)
这个使用您使用的类似语法
:%s/\(\(\<[[:digit:]]\+\>[ \t]\+\)\{4\}\)/\1\r/g
答案 3 :(得分:0)
如果这些是唯一关键字,那么这将起作用
:%s/\(Scheme\|Video\|Social\)/\r\1/g